我有幾個陣列,看起來有點像這些:定製指數從數組刪除元素的Javascript
arr['a'] = 'val1';
arr['b'] = 'val2';
arr['c'] = 'val3';
該指數是不是整數,它是一個字符串。我想從陣列中完全刪除arr ['b']。我曾嘗試:
arr.splice('b', 1);
它不工作,這可能是因爲該指數不是整數,根據 w3schools這就是問題所在「指數 - 需要一個整數。」
一個可能的解決方案可能循環遍歷所有數組,然後用一個整數索引重新創建它們,然後將一個數組作爲值並將等效整數索引作爲其索引。
這似乎是一種不必要的浪費資源,是否有更智能更有效和更簡單的解決方案?
最好是一個arr.splice,它將使用非整數索引。
我已經查看了大量的帖子,涵蓋了如何通過索引和值從數組中刪除元素,但沒有涵蓋如何使用非整數索引刪除元素。
任何及所有的幫助感激!
//編輯,以下用作解決方案。
function aObj() {
this.a = "";
this.b = [];
}
var aObjs = [];
aObjs.push(new aObj);
aObjs.push(new aObj);
aObjs.push(new aObj);
aObjs[0].a = "val1";
aObjs.splice(1, 1);
看起來有點不同於我在第一個例子中使用的東西,但是這對我的使用方式更加準確。可能不是最好的辦法,但它的工作原理。
JavaScript沒有關聯數組!使用一個對象。 – undefined 2014-08-31 14:13:27
您有使用數組的原因嗎?聽起來像你應該使用一個對象,而不是 – 2014-08-31 14:13:35
好吧......除了我不知道我可以沒有別的原因...我會研究這個。謝謝。 – Daniel 2014-08-31 14:17:02