Фильтрация и преобразование массива. Vanilla js
Задача простая, в функцию приходит id
и type
. Мне необходимо из объекта value убрать значение type
, т.е мне необходимо преобразовать массив. Я использую .map
, я делаю проверку на id
,а потом в объекте value
убираю type.На выходе должен получится новый массив, без type
.
let data = [
{ id: 1, value: ["Маленькая", "Средняя", "Большая"] },
{ id: 2, value: ["Маленькая", "Средняя", "Большая"] },
{ id: 3, value: ["Маленькая", "Средняя", "Большая"] },
{ id: 4, value: ["Маленькая", "Средняя"] }
];
let id = 1;
let type = "Маленькая";
console.log(
data.map((z) => {
if (z.id === id) {
let arr = z.value.filter((p) => p !== type);
z.value = [arr];
}
})
);
На выходе я получаю [null,null,null,null]
. Что я делаю не так?
Источник: Stack Overflow на русском