我想测试我的对象是否在我的对象数组中。为此,我使用underscorejs和.where方法。但是,我的测试不起作用:
Object.is(array[2], newCanvas
我不明白为什么,因为我的对象在我的数组中的第二个索引上。
我尝试使用{{1}}进行测试,但也返回false。
有人有想法吗?
谢谢社区!
答案 0 :(得分:0)
假设您的ID是唯一的(如图所示),您可以非常轻松地使用vanilla JS:
array.findIndex(x => x.id === object.id)
如果对象的索引找到它,则返回对象的索引;如果对象不在数组中,则返回-1
。
如果你想要的话,你可以一次性删除它:
array = array.filter(x => x.id !== object.id);
或稍长的版本:
var indexOfMyObject = array.findIndex(x => x.id === object.id);
if (indexOfMyObject > -1)
array.splice(indexOfMyObject, 1);