溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

JS數(shù)組拷貝技巧有哪些

發(fā)布時間:2022-03-07 15:33:03 來源:億速云 閱讀:139 作者:小新 欄目:web開發(fā)

這篇文章主要為大家展示了“JS數(shù)組拷貝技巧有哪些”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學習一下“JS數(shù)組拷貝技巧有哪些”這篇文章吧。

  技巧 1 - 使用Array.slice方法

  const numbers = [1, 2, 3, 4, 5]

  const copy = numbers.slice()

  copy.push(6) // 添加新項以證明不會修改原始數(shù)組

  console.log(copy)

  console.log(numbers)

  // 輸出

  // [1, 2, 3, 4, 5, 6]

  // [1, 2, 3, 4, 5]

  技巧 2 - 使用Array.map方法

  const numbers = [1, 2, 3, 4, 5]

  const copy = numbers.map( num => num )

  copy.push(6) // 添加新項以證明不會修改原始數(shù)組

  console.log(copy);

  console.log(numbers);

  // 輸出

  // [1, 2, 3, 4, 5, 6]

  // [1, 2, 3, 4, 5]

  技巧 3 - 使用Array.from 方法

  const numbers = [1, 2, 3, 4, 5];

  const copy = Array.from(new Set(numbers));

  copy.push(6); // 添加新項以證明不會修改原始數(shù)組

  console.log(copy);

  console.log(numbers);

  // 輸出

  // [1, 2, 3, 4, 5, 6]

  // [1, 2, 3, 4, 5]

  技巧 4 - 使用展開操作符

  const numbers = [1, 2, 3, 4, 5];

  const copy = [...numbers];

  copy.push(6); // 添加新項以證明不會修改原始數(shù)組

  console.log(copy);

  console.log(numbers);

  // 輸出

  // [1, 2, 3, 4, 5, 6]

  // [1, 2, 3, 4, 5]

  技巧 5 - 使用 Array.of 方法和展開操作符

  const numbers = [1, 2, 3, 4, 5];

  const copy = Array.of(...numbers);

  copy.push(6); // 添加新項以證明不會修改原始數(shù)組

  console.log(copy);

  console.log(numbers);

  // 輸出

  // [1, 2, 3, 4, 5, 6]

  // [1, 2, 3, 4, 5]

  Array.of() 方法創(chuàng)建一個具有可變數(shù)量參數(shù)的新數(shù)組實例,而不考慮參數(shù)的數(shù)量或類型。Array.of() 和 Array 構(gòu)造函數(shù)之間的區(qū)別在于處理整數(shù)參數(shù):Array.of(7) 創(chuàng)建一個具有單個元素 7 的數(shù)組,而 Array(7) 創(chuàng)建一個長度為7的空數(shù)組(注意:這是指一個有7個空位(empty)的數(shù)組,而不是由7個undefined組成的數(shù)組)。

  Array.of(7);       // [7]

  Array.of(1, 2, 3); // [1, 2, 3]

  Array(7);          // [ , , , , , , ]

  Array(1, 2, 3);    // [1, 2, 3]

  技巧 6 - 使用 Array 構(gòu)造函數(shù)和展開操作符

  const numbers = [1, 2, 3, 4, 5];

  const copy = new Array(...numbers);

  copy.push(6); // 添加新項以證明不會修改原始數(shù)組

  console.log(copy);

  console.log(numbers);

  // 輸出

  // [1, 2, 3, 4, 5, 6]

  // [1, 2, 3, 4, 5]

  技巧 7 - 使用解構(gòu)

  const numbers = [1, 2, 3, 4, 5];

  const [...copy] = numbers;

  copy.push(6); // 添加新項以證明不會修改原始數(shù)組

  console.log(copy);

  console.log(numbers);

  // 輸出

  // [1, 2, 3, 4, 5, 6]

  // [1, 2, 3, 4, 5]

  技巧 8 - 使用 Array.concat 方法

  const numbers = [1, 2, 3, 4, 5];

  const copy = numbers.concat();

  copy.push(6); // 添加新項以證明不會修改原始數(shù)組

  console.log(copy);

  console.log(numbers);

  // 輸出

  // [1, 2, 3, 4, 5, 6]

  // [1, 2, 3, 4, 5]

  技巧 9 - 使用 Array.push 方法和展開操作符

  const numbers = [1, 2, 3, 4, 5];

  let copy = [];

  copy.push(...numbers);

  copy.push(6); // 添加新項以證明不會修改原始數(shù)組

  console.log(copy);

  console.log(numbers);

  // 輸出

  // [1, 2, 3, 4, 5, 6]

  // [1, 2, 3, 4, 5]

  技巧 10 - 使用 Array.unshift 方法和展開操作符

  const numbers = [1, 2, 3, 4, 5];

  let copy = [];

  copy.unshift(...numbers);

  copy.push(6); // 添加新項以證明不會修改原始數(shù)組

  console.log(copy);

  console.log(numbers);

  // 輸出

  // [1, 2, 3, 4, 5, 6]

  // [1, 2, 3, 4, 5]

  技巧 11 - 使用 Array.forEach 方法和展開操作符

  const numbers = [1, 2, 3, 4, 5];

  let copy = [];

  numbers.forEach((value) => copy.push(value));

  copy.push(6); // 添加新項以證明不會修改原始數(shù)組

  console.log(copy);

  console.log(numbers);

  // 輸出

  // [1, 2, 3, 4, 5, 6]

  // [1, 2, 3, 4, 5]

  技巧 12 - 使用 for 循環(huán)

  const numbers = [1, 2, 3, 4, 5];

  let copy = [];

  for (let i = 0; i < numbers.length; i++) {

  copy.push(numbers[i]);

  }

  copy.push(6); // 添加新項以證明不會修改原始數(shù)組

  console.log(copy);

  console.log(numbers);

  // 輸出

  // [1, 2, 3, 4, 5, 6]

  // [1, 2, 3, 4, 5]

  技巧 13 - 使用 Array.reduce 方法

  這個做法是可行,但比較多余,少用

  const numbers = [1, 2, 3, 4, 5];

  const copy = numbers.reduce((acc, x) => { acc.push(x); return acc; }, []);

  copy.push(6); // 添加新項以證明不會修改原始數(shù)組

  console.log(copy);

  console.log(numbers);

  // 輸出

  // [1, 2, 3, 4, 5, 6]

  // [1, 2, 3, 4, 5]

  技巧 14 - 使用古老的 apply 方法

  const numbers = [1, 2, 3, 4, 5];

  let copy = [];

  Array.prototype.push.apply(copy, numbers);

  copy.push(6); // 添加新項以證明不會修改原始數(shù)組

  console.log(copy);

  console.log(numbers);

  // 輸出

  // [1, 2, 3, 4, 5, 6]

  // [1, 2, 3, 4, 5]

以上是“JS數(shù)組拷貝技巧有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

js
AI