Как убрать \n из массива js?

100
13 мая 2021, 22:50
{"cards1":["\n    aaaaaaaaaaaa\n  ",null],"cards2":["\n    bbbbbbbbbbb   \n  ","https://dummyimage.com/100x100/858585/000000.png"],"cards3":["\n    cccccccccccccccc\n  ",null],"cards4":["\n    dddddddddddddddd\n  ",null]}

в массив добавляются лишние не нужные \n

использую такой код , чтобы их убрать, но пишет , что arr.filer is not a function arr это наш массив

arr = arr.filter(function(item) {
  return item !== "\n";
}).map(function(item) {
  return item.replace(/\n/g,'');
});
Answer 1

Это дело можно организовать так, но replace выдает ошибку, если элемент == null. Поэтому рядом добавленая пустая строка || "" (а после циклов, все null превращаются в "")

var obj = { 
  "cards1": ["\n    aaaaaaaaaaaa\n  ", null], 
  "cards2": ["\n    bbbbbbbbbbb   \n  ", "https://dummyimage.com/100x100/858585/000000.png"], 
  "cards3": ["\n    cccccccccccccccc\n  ", null], 
  "cards4": ["\n    dddddddddddddddd\n  ", null] 
} 
 
 
for( var key in obj ){ 
  obj[key].forEach(function(e,i){ 
    obj[key][i] = (e||"").replace(/\s*\n\s*/g,""); 
  }); 
} 
 
console.log( JSON.stringify( obj ) );

спец-символ \s находит пробелы... а * означает "ноль или несколько совпадений". Оно убирает в том числе и пробелы до и после \n

Answer 2

let obj = { 
  "cards1": ["\n    aaaaaaaaaaaa\n  ", null], 
  "cards2": ["\n    bbbbbbbbbbb   \n  ", "https://dummyimage.com/100x100/858585/000000.png"], 
  "cards3": ["\n    cccccccccccccccc\n  ", null], 
  "cards4": ["\n    dddddddddddddddd\n  ", null] 
}; 
 
for (let prop in obj) { 
  obj[prop].forEach((item, i, arr) => { 
    if (!(typeof(item) === 'string')) return; 
    arr[i] = item.replace(/\n/g, ""); 
  }) 
} 
 
console.log(obj);

READ ALSO
Передать URL изображения в input поле

Передать URL изображения в input поле

Задача следующая, у меня есть поле, которое отправляет изображение на почту, мне нужно чтобы на почту отправлялась ссылка на эту картинкуТо...

105
Динамическая смена контента при клике на блок с изображением

Динамическая смена контента при клике на блок с изображением

Возникла проблема при клике на изображение и появление контента

269
не работает e.target внутри setTimeout [дубликат]

не работает e.target внутри setTimeout [дубликат]

Мне нужно через 2 секунды после запуска анимации, устанавливать display none

102
Не работает корректно функция [закрыт]

Не работает корректно функция [закрыт]

Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском

118