所以我有这样的定义
var myList = [];
//I populate it like this
myList.push({ prop1: value1,
prop2: value2,
prop3: value3
});
是否可以根据没有搜索数组的prop1值从列表中删除项目?
答案 0 :(得分:1)
没有。您必须以某种方式遍历数组,检查其中每个对象的属性,并在您点击它们时执行删除。
答案 1 :(得分:1)
你走了:
myList = myList.filter( function ( obj ) {
return obj.prop1 !== value;
});
其中value
是您要测试的值。
现场演示: http://jsfiddle.net/LBYfa/
因此,如果'prop1'
属性的值等于您要测试的值,obj.prop1 !== value
将评估为false
,并且该元素将被过滤掉。< / p>
答案 2 :(得分:0)
这有用吗:
Array.prototype.remove = function(s) { var i = this.indexOf(s); if(i != -1) this.splice(i, 1); }
答案 3 :(得分:0)
是否需要myList具有整数类型的索引?你可能改用key =&gt;值对 - 即一个值为prop1的关联数组作为键? prop1有多大可能是唯一的?如果不太可能,请考虑实施多图。