Как удалить значения объектов из массива объектов, не мутирует массив
Подскажите пожалуйста.
Есть массив объектов примерно такой
[
{
_id(pin):"5ef862486093772cb01ec48f",
start(pin):-240,
duration(pin):60,
title(pin):"tgt",
__v(pin):0,
}
]
const resault = fileTask.reduce((acc, el) => {
acc = [...acc, el , delete el._id , delete el.__v];
return acc;
}, []);
Ответы (2 шт):
Автор решения: vsemozhebuty
→ Ссылка
Ваш пример исходной структуры синтаксически неверен, я его немного подредактировал.
Если я правильно понял, можно так:
const fileTask = [
{
_id:"5ef862486093772cb01ec48f",
start:-240,
duration:60,
title:"tgt",
__v:0,
}
];
const resault = fileTask.reduce((acc, el) => {
delete el._id;
delete el.__v;
acc.push(el);
return acc;
}, []);
console.log(resault);
Или так:
const fileTask = [
{
_id:"5ef862486093772cb01ec48f",
start:-240,
duration:60,
title:"tgt",
__v:0,
}
];
const resault = fileTask.map((el) => {
delete el._id;
delete el.__v;
return el;
});
console.log(resault);
Автор решения: Alexandr
→ Ссылка
В таком случаи у меня мутируется fileTask. Удаление как-то не подходит((( Я сделал так, но не знаю верно ли, но теперь fileTask не мутируется
const resault = fileTask.map((el) => {
let arr = [];
arr = [...arr, { start: el.start, duration: el.duration, title: el.title }];
return arr;
}); Грубо говоря, пересобираю новый массив и потом с ним работаю