[英]Javascript push array into another array
以下代碼(帶/不帶擴展運算符)之間有什么區別嗎?
let result = [];
let arr1 = [1,2,3];
result.push(arr1)
result.push([...arr1])
首先,在不擴散的情況下,對result
中第 0 個 position 的陣列的任何修改都將導致對原始arr1
的更改,反之亦然。
但是,如果在 push 的同時展開數組,則不會發生這種變化; 兩個 arrays (一個在arr1
,一個在result[0]
)將完全獨立。
let result = []; let arr1 = [1,2,3]; result.push(arr1) arr1[1] = 999; console.log(result);
let result = []; let arr1 = [1,2,3]; result.push([...arr1]) arr1[1] = 999; console.log(result);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.