1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        【JavaScript 教程】第六章 數(shù)組18—push() :將一個(gè)或多個(gè)元素添加到數(shù)組的末尾

        共 3768字,需瀏覽 8分鐘

         ·

        2022-06-09 17:33

        來源 | https://www.javascripttutorial.net/

        翻譯 | 楊小愛


        在今天的教程中,我們將學(xué)習(xí)如何使用 JavaScript Array push()方法將一個(gè)或多個(gè)元素添加到數(shù)組的末尾。

        JavaScript Array push() 方法介紹

        Array.prototype.push()方法將一個(gè)或多個(gè)元素添加到數(shù)組的末尾并返回新數(shù)組的長度。

        下面顯示了push()方法的語法:

        push(newElement);push(newElement1,newElement2);push(newElement1,newElement2,...,newElementN);

        push() 方法返回調(diào)用該方法的數(shù)組對(duì)象的長度屬性的新值。

        JavaScript Array push() 方法示例

        讓我們舉一些使用 push() 方法的例子。

        1)、 使用數(shù)組 push() 將一個(gè)元素追加到數(shù)組中

        以下示例將數(shù)字 40 添加到 numbers 數(shù)組的末尾:

        let numbers = [10, 20, 30];const length = numbers.push(40);console.log(length);console.log(numbers);

        輸出:

        4[ 10, 20, 30, 40 ]

        它是怎么工作。

        首先,定義包含三個(gè)數(shù)字的 numbers 數(shù)組:

        let numbers = [10, 20, 30];

        其次,使用方法將數(shù)字添加到數(shù)組40的末尾并將返回值分配給變量:numbers push() length

        const length = numbers.push(40);

        第三、輸出length變量和numbers數(shù)組:

        console.log(length);console.log(numbers);

        下圖說明了該示例的工作原理:

        2)、 使用數(shù)組 push() 將多個(gè)元素添加到數(shù)組末尾

        以下示例顯示了如何使用push()方法將多個(gè)元素添加到數(shù)組的末尾:

        let numbers = [10, 20, 30];const length = numbers.push(40, 50);console.log(length);console.log(numbers);

        輸出:

        5[ 10, 20, 30, 40, 50 ]

        下圖說明了它是如何工作的:

        3)、使用 push() 將一個(gè)數(shù)組的元素追加到另一個(gè)數(shù)組

        假設(shè)您有兩個(gè)數(shù)組colors和 cmyk:

        let colors = ['red', 'green', 'blue'];let cmyk = ['cyan', 'magenta', 'yellow', 'back'];

        并且,我們想將 cmyk 的元素附加到顏色數(shù)組中。

        為此,我們可以使用 for...of 循環(huán)遍歷 cmyk 數(shù)組的元素,并使用 push() 方法將每個(gè)元素附加到 colors 數(shù)組,如下所示:

        let colors = ['red', 'green', 'blue'];let cmyk = ['cyan', 'magenta', 'yellow', 'back'];for (const color of cmyk) {  colors.push(color);}console.log(colors);

        輸出:

        ['red', 'green', 'blue', 'cyan', 'magenta', 'yellow', 'back']

        從 ES6 開始,我們可以使用擴(kuò)展運(yùn)算符( ...) 來擴(kuò)展cmyk數(shù)組的元素并同時(shí)將它們推送到colors數(shù)組中,如下所示:

        let colors = ['red', 'green', 'blue'];let cmyk = ['cyan', 'magenta', 'yellow', 'back'];colors.push(...cmyk);console.log(colors);

        對(duì)類數(shù)組對(duì)象使用 JavaScript Array push() 方法

        Array.prototype.push() 方法被設(shè)計(jì)成是通用的。因此,我們可以在類數(shù)組對(duì)象上使用 call() 或 apply() 調(diào)用 push() 方法。

        在底層, push() 方法使用 length 屬性來確定插入元素的位置。如果 push() 方法無法將 length 屬性轉(zhuǎn)換為數(shù)字,它將使用 0 作為索引的值。

        請(qǐng)參見以下示例:

        let greetings = {  0: 'Hi',  1: 'Hello',  length: 2,  append(message) {    [].push.call(this, message);  },};greetings.append('Howdy');greetings.append('Bonjour');  console.log(greetings);

        輸出:

        {  '0': 'Hi',  '1': 'Hello',  '2': 'Howdy',  '3': 'Bonjour',  length: 4,  add: [Function: add]}

        這個(gè)是怎么運(yùn)行的。

        首先,定義具有三個(gè)屬性 1、2 和length以及一個(gè)方法 append() 的 greetings 對(duì)象:

        let greetings = {  0: 'Hi',  1: 'Hello',  length: 2,  append(message) {    [].push.call(this, message);  },};

        append() 方法調(diào)用數(shù)組對(duì)象的 push() 方法將message附加到 greetings 對(duì)象。

        第二、調(diào)用greetings對(duì)象的append()方法:

        greetings.append('Howdy');greetings.append('Bonjour');

        在每次調(diào)用中,push() 使用問候?qū)ο蟮拈L度屬性來確定它附加新元素的位置并將長度屬性增加一。

        結(jié)果,greetings 對(duì)象在索引 2 和 3 處多了兩個(gè)元素。調(diào)用后的 length 屬性為 4。

        第三,將greetings對(duì)象輸出到控制臺(tái):

        console.log(greetings);

        要允許 append() 方法接受多個(gè)消息,我們可以像這樣修改該方法:

        let greetings = {  0: 'Hi',  1: 'Hello',  length: 2,  append() {    [].push.call(this, ...arguments);  },};greetings.append('Howdy''Bonjour');console.log(greetings);

        它如何運(yùn)行?

        首先,從 append 方法中刪除 message 參數(shù)。

        其次,將 arguments 對(duì)象的元素展開,并將它們推送到 greetings 對(duì)象。

        總結(jié)

        使用 JavaScript 數(shù)組 push() 方法將一個(gè)或多個(gè)元素附加到數(shù)組。

        push() 方法也適用于類似數(shù)組的對(duì)象。

        更多教程

        【JavaScript 教程】第六章 數(shù)組17—flatMap() :對(duì)每個(gè)元素執(zhí)行映射函數(shù)并將結(jié)果展平

        【JavaScript 教程】第六章 數(shù)組16—flat() :遞歸地將數(shù)組展平到指定的深度

        【JavaScript 教程】第六章 數(shù)組15—join() :將所有元素連接成一個(gè)字符串

        【JavaScript 教程】第六章 數(shù)組14—reduce() :將數(shù)組的元素減少為一個(gè)值

        【JavaScript 教程】第六章 數(shù)組13— forEach() :遍歷數(shù)組元素

        【JavaScript 教程】第六章 數(shù)組12— map() :轉(zhuǎn)換數(shù)組元素

        【JavaScript 教程】第六章 數(shù)組11— filter() :過濾數(shù)組中的元素

        【JavaScript 教程】第六章 數(shù)組10— sort() :對(duì)數(shù)組中的元素進(jìn)行排序

        【JavaScript 教程】第六章 數(shù)組09— some() :檢查數(shù)組中是否至少有一個(gè)元素通過了測試

        【JavaScript 教程】第六章 數(shù)組08— every() :檢查數(shù)組中的每個(gè)元素是否都通過了測試

        【JavaScript 教程】第六章 數(shù)組07— index() :在數(shù)組中定位一個(gè)元素

        【JavaScript 教程】第六章 數(shù)組06— slice() :復(fù)制數(shù)組元素

        【JavaScript 教程】第六章 數(shù)組05— splice():刪除、插入和替換

        【JavaScript 教程】第六章 數(shù)組04— JavaScript 隊(duì)列

        【JavaScript 教程】第六章 數(shù)組03— Stack :使用 Array 的push()和pop()方法實(shí)現(xiàn)堆棧數(shù)據(jù)結(jié)構(gòu)

        【JavaScript 教程】第六章 數(shù)組02— Array Length:如何有效地使用數(shù)組的長度屬性

        【JavaScript 教程】第六章 數(shù)組01— 介紹JavaScript中的Array類型


        學(xué)習(xí)更多技能

        請(qǐng)點(diǎn)擊下方公眾號(hào)

        瀏覽 28
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            黄动漫网站在线 | 国产极品 国产极品 | 日韩中文字幕一区二区 | 日韩无码做爱视频 | 中文字幕一区二区三区人妻在线视频 | 操骚逼逼 | 王鸥大尺度做爰未删减 | 欧美骚片 | 91久久国产露脸精品国产护士 | 啪啪啪免费网站观看 |