<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          數(shù)組合并的三種方法

          共 2044字,需瀏覽 5分鐘

           ·

          2021-04-20 11:36

          導(dǎo)讀

          數(shù)組是代表有序收集索引項的數(shù)據(jù)結(jié)構(gòu)。

          合并數(shù)組是在處理數(shù)據(jù)時常常用到的操作,在這里,你將找到在 JavaScript 中合并數(shù)組的 3 種方法:2 個不可變(合并后創(chuàng)建一個新數(shù)組)和 1 個可變(合并為一個數(shù)組)

          01

          擴(kuò)展運(yùn)算符合并

          擴(kuò)展運(yùn)算符(...)是ES6中的新特性,使用的時候需要注意項目中是否支持。

          寫法:

          // 合并 array1 and array2const mergeResult = [...array1, ...array2];

          例如,讓我們合并 2 個數(shù)組和:heroes,villains

          const heroes = ['Batman', 'Superman'];const?villains?=?['Joker',?'Bane'];const?all?=?[...heroes,?...villains];all; // ['Batman', 'Superman', 'Joker', 'Bane']

          如果要做合并后的先后順序的話,調(diào)換一下它們的位置就對了。

          const heroes = ['Batman', 'Superman'];const?villains?=?['Joker',?'Bane'];const?all?=?[...villains,??...heroes];all; // ['Joker', 'Bane', 'Batman', 'Superman']

          擴(kuò)展運(yùn)算符甚至可以將更多數(shù)組一起合并。

          const mergeResult = [...array1, ...array2, ...array3, ...arrayN];

          02

          使用數(shù)組的concat方法

          如果你喜歡用函數(shù)的方法,則可以使用該方法,而且它是ES5以前的。

          // merge array1 and array2const mergeResult = array1.concat(array2);

          其他的一種寫法:

          const mergeResult = [].concat(array1, array2);

          array.concat()方法不會改變它所調(diào)用的數(shù)組,但會返回具有合并結(jié)果的新數(shù)組。

          例如:使用array.concat()合并heroes,villains

          const heroes = ['Batman', 'Superman'];const villains = ['Joker', 'Bane'];
          const all1 = heroes.concat(villains);const all2 = [].concat(heroes, villains);
          all1; // ['Batman', 'Superman', 'Joker', 'Bane']all2; // ['Batman', 'Superman', 'Joker', 'Bane']

          concat 方法可以接受多個數(shù)組作為參數(shù),因此您可以同時合并 2 個或多個數(shù)組:

          const mergeResult = [].concat(array1, array2, array3, arrayN);

          上面的兩種方法都是返回一個新數(shù)組,不會改變原有的數(shù)組。

          但是,有時您不想創(chuàng)建新數(shù)組,而是將其合并到某些現(xiàn)有數(shù)組中,下面的方法執(zhí)行一種可變的合并方式。

          03

          數(shù)組的push方法

          您可能已經(jīng)知道該方法在數(shù)組末尾插入一項,從而改變該方法所調(diào)用的數(shù)組。

          const heroes = ['Batman'];
          heroes.push('Superman');
          heroes; // ['Batman', 'Superman']

          那么怎么push一個數(shù)組呢?可以使用擴(kuò)展運(yùn)算符(...),這個運(yùn)算符的一個功能是可以作為被函數(shù)調(diào)用的。

          // 合并array2 到 array1array1.push(...array2);

          例如,讓我們合并到數(shù)組中:villains,heroes

          const heroes = ['Batman', 'Superman'];const villains = ['Joker', 'Bane'];
          heroes.push(...villains);
          heroes; // ['Batman', 'Superman', 'Joker', 'Bane']

          04

          總結(jié)

          JS 提供了合并數(shù)組的多種方法。

          您可以使用擴(kuò)展運(yùn)算符或函數(shù)合并 2 個或更多數(shù)組。這些方法是不會改變原有數(shù)組的,因?yàn)楹喜⒔Y(jié)果存儲在新的數(shù)組中。

          [...array1, ...array2],[].concat(array1, array2)

          如果您要執(zhí)行可變合并,即合并到原有數(shù)組而不創(chuàng)建新的,則可以使用方法:array1.push(...array2)。

          你知道還有什么其他方法可以合并陣列?歡迎在評論區(qū)留言。

          這個世界上根本就沒有正確的選擇,我們只不過是要通過努力奮斗,使當(dāng)初的選擇變得正確。

          --《1Q84》


          瀏覽 84
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  色五月成人视频 | 四虎黄色| 国产美女A片 | 久久九欧美三级日本三级 | 青娱乐在线播放在线观看视频 |