Если вы просто хотите обновить исходный массив, вы можете перебрать массив, используя forEach
.Затем переберите ключи каждого объекта с помощью for...in
и проверьте, является ли он массивом с использованием Array.isArray()
.Обновите свойство после фильтрации из значения NA
const dataArr = [{a:'foo',b:[1,2,"NA","NA",3],c:["NA",6]},{a:'bar',b:["NA","NA","NA"],c:[]}];
dataArr.forEach(o => {
for (const key in o) {
if (Array.isArray(o[key]))
o[key] = o[key].filter(s => s !== "NA")
}
})
console.log(dataArr)
Если вы хотите получить новый массив без изменения исходных объектов, вы можете использовать map
, например:
const dataArr = [{a:'foo',b:[1,2,"NA","NA",3],c:["NA",6]},{a:'bar',b:["NA","NA","NA"],c:[]}];
const newArray = dataArr.map(o => {
const newObj = {};
for (const key in o) {
if (Array.isArray(o[key]))
newObj[key] = o[key].filter(s => s !== "NA")
else
newObj[key] = o[key]
}
return newObj;
})
console.log(newArray)