JS обновляет значение отфильтрованного объекта, используя array.filter

Поэтому мне нужно выполнить два действия: 1) отфильтровать мой массив и 2) обновить неотфильтрованные значения. в настоящее время я делаю это таким образом, и он отлично работает.

let installData = state.installData.filter((item) => {
        return item.sensor !== action.data.sensor;
      });

      installData = installData.map((item) => {
        return { ...item, asOfDate: false };
      });

однако я выполняю здесь операции, и мне было интересно, есть ли более эффективный способ обновить значение моего элемента непосредственно внутри метода filtred без использования карты

🤔 А знаете ли вы, что...
JavaScript обеспечивает обработку ошибок с использованием конструкции try...catch.


30
1

Ответ:

Решено

Я считаю, что вы могли бы просто использовать reduce и объединить операции в одну функцию.

 let installData = state.installData.reduce((acc,item) => {
     if (item.sensor !== action.data.sensor) acc.push({...item, asOfDate: false});
     return acc;
  },[]);