Как функцией перевести двумерный массив в CSV формат и вернуть строку?
Форум — General
Здравствуйте, надо написать функцию, которая переводит двумерный массив в CSV и возвращает строку. Допустимые значения в качестве элементов массива - числа и строки Если встречается функция - выбрасывать ошибку с текстом «Unexpected value» Пример:
func([[1, 2], ['a', 'b']]) // '1,2
a,b'
func([[1, 2], ['a,b', 'c,d']]) // '1,2
"a,b","c,d"'
Сделал так, не проходит тест "корректно экранирует кавычки ":
Expected: """"text""","other ""long"" text""
Received: ""text",other "long" text"
Мой код:
function func(arr) {
return arr
.map(array => array.map(e => {
let type = typeof e;
if (type !== "number" && type !== "string")
throw new Error("Unexpected value");
return (type === "string" && e.includes(",")) ? JSON.stringify(e) : e;
}).join(","))
.join("\n");
}
Что надо исправить?