查找并删除Javascript对象数组中的第一个匹配元素 [英] Find and remove first matching element in an array of Javascript objects
本文介绍了查找并删除Javascript对象数组中的第一个匹配元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
假设我有一个数组:
members = [
{name: 'Anna', class: 'one'},
{name: 'Bob', class: 'two'},
{name: 'Chuck', class: 'two'}];
removed = members.myRemoveByClass('two'); //something like
// removed is {name: 'Bob', class: 'two'}
// members is [{name: 'Anna', class: 'one'}, {name: 'Chuck', class: 'two'}]
我正在寻找 myRemoveByClass
的东西.ES2015很好或使用Lodash.该阵列将已经订购.
I'm looking for something for myRemoveByClass
. ES2015 is fine or using Lodash. The array will have been ordered already. None of the questions I've seen quite match what I'm looking for.
推荐答案
您可以创建自己的Array类:
You could create your own Array class:
class Members extends Array {
removeByClass(className) {
for(const [index, member] of this.entries())
if(member.class === className)
return this.splice(index, 1)[0];
}
}
用作
const members = new Members([ {/*...*/}, {/*...*/} ]);
members.removeByClass("...");
PS:类"是一个非常糟糕的名称,因为它是保留关键字
这篇关于查找并删除Javascript对象数组中的第一个匹配元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文