如何通过键删除对象的所有元素

时间:2021-04-12 16:38:03

标签: javascript reactjs object filter key

我只是想弄清楚通过执行 onClick 函数删除对象的所有元素的最佳方法是什么。这个想法是处理程序应该删除所有元素。我尝试了几个选项,包括使用 delete 关键字和过滤。但是,当我单击全部清除按钮时,它不会删除任何内容。请参阅下面的代码。谢谢

这里是对象键的控制台日志:

2 个答案:

答案 0 :(得分:0)

您可以使用 lodash omit 创建一个新对象

import omit from 'lodash/omit';

const itemConfigs = [{
    mode: 1,
    status: "STOPPED",
    value: 10
  },
  {
    mode: 1,
    status: "COMPLETED",
    value: 11
  },
  {
    mode: 1,
    status: "PENDING",
    value: 13
  },
  {
    mode: 1,
    status: "STOPPED",
    value: 12
  }
];

const filteredStoppedItems = Object.keys(itemConfigs).filter(
  (key) =>
  (itemConfigs[key].status === "STOPPED" ||
    itemConfigs[key].status === "COMPLETED" ||
    itemConfigs[key].status === "FAILED") &&
  itemConfigs[key].mode !== null
);

console.log("FILTEREDSTOPPEDITEMS", filteredStoppedItems);

console.log(omit(itemConfigs, filteredStoppedItems));

答案 1 :(得分:0)

为什么要删除所有带forEach的元素,只给它分配一个新的空对象;

let obj = {
  happy: 0.6,
  neutral: 0.1,
  said: 0.3,
};

console.log(obj);

obj = {};

console.log(obj);