[英]Javascript console printing not working when assigning splice of array to itself
當我這樣做:
var testArray = ["a","b","c"];
console.log(testArray);
console.log("size:" + testArray.length);
我把它印在我的控制台上:
["a", "b", "c"]
size:3
這很好。 但是現在我開始拼接這個:
var testArray = ["a","b","c"];
console.log(testArray);
console.log("size:" + testArray.length);
testArray = testArray.splice(0,1);
這恰好在我的控制台中顯示:
["b", "c", undefined × 1]
size:3
所以第一個問題是,為什么即使拼接在打印之后它也會弄亂我的陣列打印? 大小顯示正確,但“a”消失了,我最后得到一個未定義的。
所以我想要做的是刪除數組中的第一項。 基本上是一個轉變。 所以我這樣做:
var testArray = ["a","b","c"];
console.log(testArray);
console.log("size:" + testArray.length);
testArray = testArray.splice(0,1);
console.log(testArray);
console.log("size:" + testArray.length);
這就是輸出的內容:
["b", "c", undefined × 1]
size:3
["a"]
size:1
不僅大小減少了2,它還刪除了除“a”之外的所有內容。 到底是怎么回事?
不要將testArray分配給自己。 簡單地說:
var testArray = ["a","b","c"];
console.log(testArray);
console.log("size:" + testArray.length);
testArray.splice(0,1);
console.log(testArray);
console.log("size:" + testArray.length);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.