js数组使用解构/休息语法按值删除元素

问题描述

对我来说似乎很直观,但事实证明事情并非如此!目标是删除传递的元素(如果存在)并返回余数。我知道有很多方法可以实现这一点 - 包括 filter: const rest = selection.filter(i => i !== item) - 但是,正如我所说,我认为这种方法是可行的 - 就像 objects/key:value pairs 一样。>

if (selection.includes(item)) {
  // remove if available
  const [item,...rest] = selection;
  
  setSelection(rest)
} else {
  // ...
}

destructuring 的工作方式是将 firstselection 元素分配给 item,并将其余的 item 分配给 rest - 一个数组。这是正确的 - 至少从我的理解来看,事情就是这样运作的。 将 item 的值“注入”到解构赋值中的可能性有多大,而不必将其视为保存数组第一个元素的新变量?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)