【JS】JS數組添加元素的三種方法

> 1、push() 方法可向數組的末尾添加一個或多個元素,并返回新的長度。 
> 2、unshift()方法可向數組的開頭添加一個或更多元素,并返回新的長度。
> 3、splice() 方法向/從數組中添加/刪除項目,然后返回被刪除的項目。

1、push() 方法

可向數組的末尾添加一個或多個元素,并返回新的長度。
  1)、語法:

arrayObject.push(newelement1,newelement2,…,newelementX)
參數 描述
newelement1 必需。要添加到數組的第一個元素。
newelement2 可選。要添加到數組的第二個元素。
newelementX 可選。可添加多個元素。
  2)、返回值:

把指定的值添加到數組后的新長度。

3)、說明:

push() 方法可把它的參數順序添加到 arrayObject 的尾部。它直接修改 arrayObject,而不是創建一個新的數組。

4)、實例:

1 var arr = new Array(3)
2 arr[0] = “ZhangQian”
3 arr[1] = “LinFang”
4 arr[2] = “HaiKun”
5
6 console.log(arr);// [“ZhangQian”,“LinFang”,“HaiKun”]
7 console.log(arr.push(“C”));// 4
8 console.log(arr);// [“ZhangQian”,“LinFang”,“HaiKun”,“C”]
9 console.log(arr.push(“A”,“B”));// 6
10 console.log(arr);// [“ZhangQian”,“LinFang”,“HaiKun”,“A”,“B”,“C”]

2、unshift() 方法

可向數組的開頭添加一個或更多元素,并返回新的長度。
  1)、語法:

arrayObject.unshift(newelement1,newelement2,…,newelementX)
參數 描述
newelement1 必需。向數組添加的第一個元素。
newelement2 可選。向數組添加的第二個元素。
newelementX 可選。可添加若干個元素。
  2)、返回值:

arrayObject 的新長度。

3)、說明:

unshift() 方法將把它的參數插入 arrayObject 的頭部,并將已經存在的元素順次地移到較高的下標處,以便留出空間。該方法的第一個參數將成為數組的新元素 0,如果還有第二個參數,它將成為新的元素 1,以此類推。

請注意,unshift() 方法不創建新的數組,而是直接修改原有的數組。

4)、實例:

1 var arr = new Array(3)
2 arr[0] = “ZhangQian”
3 arr[1] = “LinFang”
4 arr[2] = “HaiKun”
5
6 console.log(arr);// [“ZhangQian”,“LinFang”,“HaiKun”]
7 console.log(arr.unshift(“C”));// 4
8 console.log(arr);// [“C”,“ZhangQian”,“LinFang”,“HaiKun”]
9 console.log(arr.unshift(“A”,“B”));// 6
10 console.log(arr);// [“A”,“B”,“C”,“ZhangQian”,“LinFang”,“HaiKun”]

3、splice() 方法

向/從數組中添加/刪除項目,然后返回被刪除的項目。
  1)、語法:

arrayObject.splice(index,howmany,item1,…,itemX)
參數 描述
index 必需。整數,規定添加/刪除項目的位置,使用負數可從數組結尾處規定位置。
howmany 必需。要刪除的項目數量。如果設置為 0,則不會刪除項目。
item1, …, itemX 可選。向數組添加的新項目。
  2)、返回值:

類型 描述
Array 包含被刪除項目的新數組,如果有的話。
  3)、說明:

splice() 方法可刪除從 index 處開始的零個或多個元素,并且用參數列表中聲明的一個或多個值來替換那些被刪除的元素。

如果從 arrayObject 中刪除了元素,則返回的是含有被刪除的元素的數組。

splice() 方法會直接對數組進行修改。

4)、實例:

1 var arr = [“A”,“ZhangQian”,“LinFang”,“HaiKun”];
2
3 console.log(arr.splice(1,0,“B”,“C”));// []
4 console.log(arr);// [“A”,“B”,“C”,“ZhangQian”,“LinFang”,“HaiKun”]
5 console.log(arr.splice(1,2));// [“B”,“C”]
6 console.log(arr);// [“A”,“ZhangQian”,“LinFang”,“HaiKun”]
7 console.log(arr.splice(1,1,“D”));// [“ZhangQian”]
8 console.log(arr);// [“A”,“D”,“LinFang”,“HaiKun”]

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/208871.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/208871.shtml
英文地址,請注明出處:http://en.pswp.cn/news/208871.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

nodejs+vue+微信小程序+python+PHP的黃山旅游景點購票系統設計與實現-計算機畢業設計推薦

本文首先對該系統進行了詳細地描述,然后對該系統進行了詳細的描述。管理人員增加了系統首頁、個人中心、用戶管理、景點分類管理、景點簡介管理、旅游路線管理、文章分類管理、公告文章管理、系統管理理等功能。黃山旅游景點購票系統是根據當前的現實需要&#xff0…

線程池的原理和基本使用~

線程池的基本原理: 無論是之前在JavaSE基礎中,我們學習過的常量池,還是在操作數據庫時,我們學習過數據庫連接池,以及接下來要學習的線程池,均是一種池化思想,其目的就是為了提高資源的利用率&a…

mysql 鏈接超時的幾個參數詳解

mysql5.7版本中,先查看超時設置參數,我們這里只關注需要的超時參數,并不是全都講解 show variables like %timeout%; connect_timeout 指的是連接過程中握手的超時時間,在5.0.52以后默認為10秒,之前版本默認是5秒,主…

【vscode寫vue代碼是白色怎么辦】

【vscode寫vue代碼是白色怎么辦】 在插件列表中搜索Vetur 安裝即可

Web學習路線

閱讀前請看一下:我是一個熱衷于記錄的人,每次寫博客會反復研讀,盡量不斷提升博客質量。文章設置為僅粉絲可見,是因為寫博客確實花了不少精力。希望互相進步謝謝!! 文章目錄 閱讀前請看一下:我是…

Redis 命令全解析之 Hash類型

文章目錄 ?介紹?命令?RedisTemplate API?應用場景 ?介紹 Hash類型,也叫散列,其value是一個無序字典,類似于Java中的 HashMap 結構。 String結構是將對象序列化為JSON字符串后存儲,當需要修改對象某個字段時很不方便&#xf…

降維技術——PCA、LCA 和 SVD

一、說明 降維在數據分析和機器學習中發揮著關鍵作用,為高維數據集帶來的挑戰提供了戰略解決方案。隨著數據集規模和復雜性的增長,特征或維度的數量通常變得難以處理,導致計算需求增加、潛在的過度擬合和模型可解釋性降低。降維技術通過捕獲數…

用隊列實現棧

問題描述: 請你僅用兩個隊列實現一個后入先出(LIFO)的棧,并支持普通隊列的全部四種操作(push、top、pop和empty)。 實現MyStack類: void push(int x) 將元素x壓入棧頂。int pop()移除并返回棧頂…

java中線程的狀態是如何轉換的?

在 Java 中,線程有幾種狀態,主要包括 NEW(新建)、RUNNABLE(可運行)、BLOCKED(阻塞)、WAITING(等待)、TIMED_WAITING(計時等待)、和 TE…

Vue學習筆記-Vue3中的計算屬性與監視屬性

computed函數 import {reactive,computed} from vue export default {name: "DemoVue",setup(){//數據定義let person reactive({firstName : 李,lastName : 四,age:18,})//計算屬性定義-簡寫形式person.fullName computed(()>{return person.firstName-person…

手寫 Promise:深入理解異步編程的基石

手寫 Promise:深入理解異步編程的基石 本文將帶您逐步實現一個簡單的 Promise,以幫助您深入理解異步編程的基本概念。通過自己動手編寫 Promise 的過程,您將更好地理解 Promise 的工作原理和常見用法,并能夠應用于實際項目中。 …

什么是網站劫持

網站劫持是一種網絡安全威脅,它通過非法訪問或篡改網站的內容來獲取機密信息或者破壞計算機系統。如果您遇到了網站劫持問題,建議您立即聯系相關的安全機構或者技術支持團隊,以獲得更專業的幫助和解決方案。

探索 HTTPS:保障網絡通信的安全性

引言 HTTPS(HyperText Transfer Protocol Secure)是一種安全的通信協議,用于在網絡上安全地傳輸數據。它是基于 HTTP 協議的擴展,通過加密通信實現了數據的保護和安全性。 功能介紹 加密數據傳輸: 使用加密技術對數…

Prism框架快速注冊帶有特性標簽的類型

前言 最近用Prims框架,真的是懶得手動注冊各種類型,不利于團隊開發工作,各種dll強耦合,后期維護還麻煩,這次我們帶來了一個快速注冊的類來快速提高開發效率。重點用到的就是通過反射出dll里面的類型,然后根據特性或者類型過濾來完成快速注冊的功能。 代碼 using Prism…

Angular 進階之四:SSR 應用場景與局限

應用場景 內容豐富,復雜交互的動態網頁,對首屏加載有要求的項目,對 seo 有要求的項目(因為服務端第一次渲染的時候,已經把關鍵字和標題渲染到響應的 html 中了,爬蟲能夠抓取到此靜態內容,因此更…

【面試專題】MySQL篇①

1.MySQL中,如何定位慢查詢? ①介紹一下當時產生問題的場景(我們當時的一個接口測試的時候非常的慢,壓測的結果大概5秒鐘) ②我們系統中當時采用了運維工具( Skywalking ),可以監測出哪個接口…

PostgreSQL從小白到高手教程 - 第38講:數據庫備份

PostgreSQL從小白到專家,是從入門逐漸能力提升的一個系列教程,內容包括對PG基礎的認知、包括安裝使用、包括角色權限、包括維護管理、、等內容,希望對熱愛PG、學習PG的同學們有幫助,歡迎持續關注CUUG PG技術大講堂。 第38講&#…

running小程序重要技術流程文檔

一、項目文件說明: (注:getMyMoney無用已刪除) 二、重要文件介紹 1.reinfo.js:位于utils文件下,該文件封裝有統一的請求URL,和請求API同意封裝供頁面調用;調用時候需要在頁面上先…

【C語言】操作符詳解(一):進制轉換,原碼,反碼,補碼

目錄 操作符分類 2進制和進制轉換 2進制轉10進制 10進制轉2進制 2進制轉8進制和16進制 2進制轉8進制 2進制轉16進制 原碼、反碼、補碼 操作符分類 操作符中有一些操作符和二進制有關系,我們先鋪墊一下二進制的和進制轉換的知識。 2進制和進制轉換 其實我們經…

數據結構準備知識

struct(結構體) struct,或稱為結構體,是C語言中一種復合數據類型,它允許你將多個不同類型的數據項組合成一個單一的單位。這對于創建記錄或更復雜的數據結構非常有用。 結構體的定義語法如下: struct 結…