tl; dr;即使沒有我的解釋,你可以看下面的代碼和輸出,看看有什麼可疑的。 Splice返回它拼接的索引,但數據保留在數組中。Javascript splice not splicing
所以我有一個對象,它的鍵控幾乎就像一個數組(0,1,2,3 ...等)。每個對象鍵都有一個數組值。該數組是一個對象數組。下面是一個簡化的對象,顯示我的工作的基本結構:
obj = {
'1': [{},{},{},{}],
'2': [{},{},{},{}],
'3': [{},{},{},{}]
};
我有一些代碼,需要拼接從這些陣列中的一個的數組索引(對象)中的一個。這是代碼,用控制檯記錄每件事情(我將在下面顯示輸出)。
console.log(indices_to_remove);
for(j = 0; j < indices_to_remove.length; j++) {
console.log("i: " + i)
console.log('j: ' + j)
console.log(this._index);
console.log(this._index[i].splice(indices_to_remove[j], 1));
console.log(this._index);
}
關於第二個「console.log(this._index);」的通知拼接的對象仍然是原始數組的一部分。我會假設this._index [2]現在會有一個更少的項目。另外,我要出去拼接指數0,但它返回指數1
下面是輸出:
因此,如果任何人有任何深入地瞭解我可能是做錯了,請說出來!
謝謝, 邁克
認爲是JSON? – yoda 2009-12-09 07:46:14
JSON是偉大的,但我現在無法真正重寫所有的東西來支持它。我的問題是,爲什麼拼接在這種情況下似乎出現故障。 – 2009-12-09 08:09:37
@yoda:JSON與此有什麼關係? – 2009-12-09 09:22:39