的JS數組所以我已經定義是這樣的刪除元素從對象
var myList = [];
//I populate it like this
myList.push({ prop1: value1,
prop2: value2,
prop3: value3
});
是否可以從列表中刪除項目的基礎上,爲prop1值W/O通過數組搜索?
的JS數組所以我已經定義是這樣的刪除元素從對象
var myList = [];
//I populate it like this
myList.push({ prop1: value1,
prop2: value2,
prop3: value3
});
是否可以從列表中刪除項目的基礎上,爲prop1值W/O通過數組搜索?
不可以。您必須以某種方式遍歷數組,檢查其中每個對象的屬性,並在您點擊它們時執行刪除操作。
這是否幫助:
Array.prototype.remove = function(s) { var i = this.indexOf(s); if(i != -1) this.splice(i, 1); }
在這裏你去:
myList = myList.filter(function (obj) {
return obj.prop1 !== value;
});
其中value
是,你對測試值。
現場演示:http://jsfiddle.net/LBYfa/
因此,如果'prop1'
屬性的值等於您正在測試對,obj.prop1 !== value
將評估爲false
的價值和該元素將被過濾掉。
是否需要myList有整型索引?你可能會使用key => value對 - 也就是說,一個以prop1的值爲關鍵字的關聯數組? prop1有多可能是獨一無二的?如果不太可能,請考慮實施多圖。
這並沒有幫助,因爲OP希望根據這些對象的屬性從數組中刪除對象。修改原生對象的原型也是一個值得懷疑的做法,儘管對這個問題的雙方都有很多爭論。 – JAAulde