簡體   English   中英

將一個空元素推入javascript數組

[英]Push an empty element into javascript array

如何將空元素推送到現有的 Js 數組,讓我們假設:

 var arr = [54,77,21]; var target = [54,77,21,,,,36]; arr.push(); //do not append an empty element into the array. arr.push(); console.log(JSON.stringify(arr)); //output: [54,77,21]

如何附加空元素使“arr”等同於“target”數組?

您可以直接尋址索引。 這將構建一個稀疏數組。

 var arr = [54,77,21]; arr[6] = 36; console.log(JSON.stringify(arr));

或者推送undefined直到你想推送值。 這將返回一個填充數組。

 var arr = [54,77,21]; arr.push(undefined); arr.push(undefined); arr.push(undefined); arr.push(36); console.log(JSON.stringify(arr));

通過使用JSON.stringify ,您會得到 undefined 或稀疏項null ,因為JSON只知道null而不是undefined

您可以使用Array#length

arr.length++;

您可以隨時設置 length 屬性來截斷數組。 當您通過更改長度屬性來擴展數組時,實際元素的數量會增加 例如,如果在當前為 2 時將 length 設置為 3,則數組現在包含 3 個元素,這會導致第三個元素成為不可迭代的空槽。

但請注意,JSON 不支持稀疏數組。 即你看不到JSON.stringify空槽。

 var arr = [54,77,21]; arr.length++; arr.length++; arr.length++; arr.push(36); console.log(arr);

(僅供參考:Stack Snippets 似乎不正確支持稀疏數組。您需要在瀏覽器控制台中運行該代碼。)

您可以使用array.prototype.concat()方法。

 var arr1 = [1, 2, 3, 4]; var arrtarget = [1, 2, 3, 4, , , , 5, 6]; console.log(arr1); console.log(arrtarget); newArr = arr1.concat([, , , 5,6]); console.log(newArr);

或者,您可以使用Array.Prototype.push()方法作為

arr1.push(undefined);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM