LINUX.ORG.RU

Сообщения Pooler

 

Как функцией перевести двумерный массив в CSV формат и вернуть строку?

Здравствуйте, надо написать функцию, которая переводит двумерный массив в 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");
}

Что надо исправить?

 

Pooler
()

RSS подписка на новые темы