我有十二個項目的數組:在JavaScript操縱陣列通過切片
var arrToIterate = [];
arrToIterate = //Data from service to populate;
陣列中的每個項目都有兩個字段:名稱和標題。
如果假設數組有名稱爲:
Scenario 1:
[0]: Name: Iron
[1]: Name: Steel
[2]: Name: ContainsIron
[3]: Name: ContainsSteel
[4]: Name : Manganese
[5]: Name: Magnesium
我需要的輸出中:
[0]: Name: Iron
[1]: Name: Steel
[2]: Name : Manganese
[3]: Name: Magnesium
Scenario 2:
If suppose the array has Names as :
[0]: Name: Iron
[1]: Name: Steel
[2]: Name : Manganese
[3]: Name: Magnesium
I need the output as:
[0]: Name: Manganese
[1]: Name: Magnesium
我想這樣做:
$.each(arrToIterate, function (element, index, arr) {
if (element.Name == "ContainsIron" || element.Name == "ContainsSteel") {
arr.splice(index, 1);
}
});
但第二種情況我沒有掌握。我如何實現這兩種場景的數組操作?
編輯:
如果數組包含 「ContainsIron」,然後ContainsIron需要被去除,同樣地,如果它包含ContainsSteel,然後ContainsSteel需要被去除。
否則
如果陣列犯規包含ContainsSteel,然後鋼需要被去除。
如果陣列不包含ContainsIron,然後鐵需要刪除。
目前還不清楚什麼是真正的關係是 - 什麼定義哪些元素需要被刪除?此外,這是一個情況下,jQuery的弊大於利 - 只是一個簡單的for循環會很好。 –
通過使用諸如'.filter'之類的東西來保留原始數組,以功能性的方式解決了問題,它使用'.filter'來返回已過濾項目的新數組。 – ioneyed