我使用lodash将一个项目插入到数组中(如果它不存在),如果它存在则删除它,类似"切换".
我的代码看起来像这样:
var items = ['a', 'b', 'c'];
var itemToToggle = 'a';
if (_.includes(items, itemToToggle)) {
_.pull(items, itemToToggle)
}
else {
items.push(itemToToggle)
}
Run Code Online (Sandbox Code Playgroud)
这似乎不够完美.我可以简化它,理想情况下,有类似的东西_.toggle(items, itemToToggle)吗?
S.K*_*ers 20
另一种方法是使用lodash的xor
var items = ['a', 'b', 'c'];
var itemToToggle = 'a';
new_array = _.xor(items, [itemToToggle])
return new_array // ['b', 'c']
Run Code Online (Sandbox Code Playgroud)
如果项目不存在,将添加该项目,如果不存在则删除.
它通过比较两个数组(items和[itemToToggle])并返回一个新数组来实现这一点,该数组是两个数组的合并,减去重复数组.
| 归档时间: |
|
| 查看次数: |
2061 次 |
| 最近记录: |