久久久精品一区ed2k-女人被男人叉到高潮的视频-中文字幕乱码一区久久麻豆樱花-俄罗斯熟妇真实视频

javascript拷貝數(shù)組的技巧

這篇文章主要介紹“javascript拷貝數(shù)組的技巧”,在日常操作中,相信很多人在javascript拷貝數(shù)組的技巧問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”javascript拷貝數(shù)組的技巧”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

成都創(chuàng)新互聯(lián)專注于鎮(zhèn)巴企業(yè)網站建設,成都響應式網站建設公司,商城網站建設。鎮(zhèn)巴網站建設公司,為鎮(zhèn)巴等地區(qū)提供建站服務。全流程按需網站建設,專業(yè)設計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務

技巧 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  構造函數(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 構造函數(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 - 使用解構

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]

代碼部署后可能存在的BUG沒法實時知道,事后為了解決這些BUG,花了大量的時間進行l(wèi)og 調試,這邊順便給大家推薦一個好用的BUG監(jiān)控工具  Fundebug。

原文:https://twitter.com/protic_milos

總結

請注意,上面這些方法執(zhí)行的是淺拷貝,就是數(shù)組是元素是對象的時候,咱們更改對象的值,另一個也會跟著變,就能技巧4來說,如果咱們的數(shù)組元素是對象,如下所示:

const authors = [  { name: '前端小智', age: 25 },   { name: '王大冶', age: 30 },  ]  const copy = [...authors ] copy[0].name = '被更改過的前端小智'  console.log(copy) console.log(authors)

輸出

javascript拷貝數(shù)組的技巧

到此,關于“javascript拷貝數(shù)組的技巧”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注創(chuàng)新互聯(lián)網站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

名稱欄目:javascript拷貝數(shù)組的技巧
文章鏈接:http://sd-ha.com/article34/josdse.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供服務器托管、動態(tài)網站、移動網站建設網站制作、網站營銷、小程序開發(fā)

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都網頁設計公司