过滤具有未知键的对象的最有效方法

时间:2019-03-20 15:40:51

标签: javascript object

例如,我们有一个列表:

const list = {
  "honda": "cars",
  "samsung": "electronics",
  "pear": "fruits"
}

如果用户单击其中一个选项,则必须从列表中获取选中的和未选中的选项。我当时在想这将是一种非常快速的方法:

const filterObjectList = ({ target: { value } }) => {
  const { [value], ...notSelected } = list;
}

例如,用户选择了honda

list[value] === list.honda //true

根据上面的示例,我的想法应该是正确的,但看起来并非如此(意外令牌...)。我还能使用什么比Object.keys().filter更有效的东西?

1 个答案:

答案 0 :(得分:5)

您必须使用变量将值分解为:

const filterObjectList = ({ target: { value } }) => {
  const { [value]: selected, ...notSelected } = list;
  // do something with selected and notSelected
}