假设我有一个数组:
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。数组将已经订购。None的questions我有seen相当match我是looking。
8条答案
按热度按时间6qqygrtg1#
您可以使用Array.prototype.findIndex():
findIndex()
方法返回数组中第一个满足测试函数的元素的 index,否则返回-1,表示没有元素通过测试。然后
splice()
对象的 * 索引 *。jhdbpxl92#
您可以创建自己的Array类:
将其用作
rfbsl7qr3#
这样也行
fcy6dtqo4#
你可以找到第一次出现的索引,并检查这个索引,然后从数组中拼接对象。
sqxo8psd5#
简而言之:
cetgtptt6#
您可以使用
some
方法来查找需要删除的member
并返回true
以停止循环。正如Jonas指出的here,你应该避免使用
class
,因为它是一个保留字。55ooxyrt7#
可以使用
without
和findWhere
cclgggtu8#
您可以将Array.prototype.find()与Array.prototype.splice()结合使用
代码示例: