我想彈出n
陣列中的對象。我得到陣列中的所有對象與數組length
之間的差異。爲什麼是這樣?控制檯日誌不輸出陣列的全部內容
如果我的控制檯日誌:
console.log('Deck length', this.deck, this.deck.length);
我可以看到有37點的對象,而length
是18,但this.deck.length
輸出37
。
這是當我試圖彈出所有卡在陣列中重要:
var that = this;
this.deck.forEach(function (cards, index) {
that.deck.pop();
console.log('popping ', cards.name, index);
});
我想彈出整個37卡,但它只是彈出18
console.log('Deck length after pop', this.deck, this.deck.length);
編輯:
試圖用常規的循環,得到了相同的結果:
for (var i = 0; i < this.deck.length; i++) {
var popped_card = this.deck.pop();
}
而且
console.log(JSON.stringify(this.deck))
給出了錯誤:
Uncaught TypeError: Converting circular structure to JSON
這是解釋here
當你運行'console.log(JSON.stringify(this.deck))'時,你會看到什麼? –
@Gothdo見上面 – Growler
如果要從數組中彈出項目,請不要使用forEach。 – Will