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

Ger*_*áth 1 javascript object

例如,我们有一个列表:

const list = {
  "honda": "cars",
  "samsung": "electronics",
  "pear": "fruits"
}
Run Code Online (Sandbox Code Playgroud)

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

const filterObjectList = ({ target: { value } }) => {
  const { [value], ...notSelected } = list;
}
Run Code Online (Sandbox Code Playgroud)

例如,用户选择honda

list[value] === list.honda //true
Run Code Online (Sandbox Code Playgroud)

根据上面的示例,我的想法应该是正确的,但似乎不正确(意外的令牌...)。我还能使用什么比这更有效的方法Object.keys().filter

jo_*_*_va 5

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

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