js常用數組方法

1.arr.push()? -末尾添加

  • 該方法可以向數組末尾添加一個或多個元素,并返回數組新的長度
  • 可以將要添加的元素作為方法的參數傳遞,這樣這些元素將會自動添加到元素的末尾
  • 原數組會發生變化

var arr = [ 1, 2, 3, 4 ]

arr.push(5)

console.log(arr)? //?[ 1, 2, 3, 4, 5?]

2.arr.unshift()? -開頭添加

  • 數組開頭添加一個或者多個元素,并返回新的數組長度

  • 向前邊插入元素后,其他的元素索引會依次調整

  • 原數組會發生變化

var arr = [1, 2, 3, 4]

arr.unshift(0)

console.log(arr)? ?// [ 0, 1, 2, 3, 4 ]

3.arr.pop()? -刪除最后一個

  • 該方法可以刪除數組的最后一個元素 ,一次就刪除一個元素

  • pop()沒有參數

  • 將被刪除的元素作為返回值返回

  • 原數組會發生變化

var arr = [1, 2, 3, 4]

arr.pop()

console.log(arr)? // [ 1, 2, 3?]

4.arr.shift()? -刪除第一個

  • 可以刪除數組的第一個元素,一次就刪除一個元素

  • shift()沒有參數

  • 被刪除的元素作為返回值返回

  • 原數組會發生變化

var arr = [1, 2, 3, 4]

arr.shift()

console.log(arr)? // [ 2, 3, 4 ]

5.arr.forEach()? -遍歷數組

  • 遍歷數組
  • 數組中有幾個元素函數就執行幾次,每次執行時,瀏覽器會將遍歷到的元素,

    ? ? ? ? ? ? ? ?以實參的形式傳遞進來,我們可以來定義行參,來讀取這些內容

  • 有三個參數:

    ? ? ? ? ? ? ? 第一個參數:就是當前正在遍歷的元素

    ? ? ? ? ? ? ? 第二個參數:就是當前正在遍歷的元素的索引

    ? ? ? ? ? ? ? 第三個參數:就是當前正在遍歷的數組

var arr = [1, 2, 3, 4]

arr.forEach(function (item, value, array) {

? ? ? ? ? ? console.log(item); ?// 1 2 3 4

? ? ? ? ? ? console.log(value); ?// 0 1 2 3

? ? ? ? ? ? console.log(array); ?// 會打印四遍 [1, 2, 3, 4]

? ? ? ? })

6.arr.map()? -遍歷數組

  • 映射數組(遍歷數組),有return 返回一個新數組 。
  • 參數:

    ? ? ? ? ? value --當前索引的值

    ? ? ? ? ? index --索引

    ? ? ? ? ? array --原數組

var arr = [1, 2, 3, 4, 5]

var newArr = arr.map(function (item) {

? ? ? ? ? ? return item += 2

? ? ? ? })

console.log(newArr); ?// [ 3, 4, 5 , 6, 7 ]

7.arr.slice()? -截取指定元素

  • 可以用來從數組提取指定元素

  • 不會改變元素原數組,而是將截取到的元素封裝到一個新數組中返回

  • 可以寫兩個參數:

    ? ? ? ? ? ? 1:截取開始的位置的索引,包含開始索引

    ? ? ? ? ? ? 2:截取結束的位置的索引,不包含結束索引

  • 第二個參數,可以省略不寫,此時會截取從開始索引往后的所有元素

  • 索引可以傳遞一個負值,如果傳遞一個負值,則從后往前計算

    ? ? ? ? ? ? ? ? ? ? ?如:-1:倒數第一個,-2:倒數第二個

var arr = [1, 2, 3, 4]

var newArr = arr.slice(0, 2)

console.log(arr); ?// [1, 2, 3, 4]

console.log(newArr); ?// [1, 2]

8.arr.aplice()? -刪除指定元素

  • 可以用來刪除數組中的指定元素

  • 會影響到原數組,會將指定元素從原數組中刪除,并將刪除的元素作為返回值返回

  • 參數:

    ? ? ? ? ? ? ? 第一個,表示開始位置的索引

    ? ? ? ? ? ? ? 第二個,表示刪除的數量

    ? ? ? ? ? ? ? 第三個及以后...

    ? ? ? ? ? ? ? ? ? 可以傳遞一些新的元素,這些元素將會自動插入到

    ? ? ? ? ? ? ? ? ? ? ?開始位置,索引前邊

var arr = [1, 2, 3, 4]

arr.splice(0, 2)

console.log(arr); ?// [3, 4]

9.arr.indexOf()? -查找元素

  • 返回在數組中可以找到的一個給定元素的第一個索引,如果不存在,則返回-1

  • 它只返回第一個滿足條件的索引號

var arr = [1, 2, 3, 4]

var index1 = arr.indexOf(3)

var index2 = arr.indexOf(99)

console.log(index1); ?// 2

console.log(index2); ?// -1

10.arr.lastIndexOf()? -查找元素

  • 和arr.indexOf()的功能一樣,只不過是從后往前查找

var arr = [1, 2, 3, 4]

var index1 = arr.indexOf(3)

var index2 = arr.indexOf(99)

console.log(index1); ?// 2

console.log(index2); ?// -1

11.arr.concat()? -合并數組

  • 可以合并兩個或多個數組,并將新的數組返回,也可以傳其他數據類型

  • 該方法不會對原數組產生影響

var arr1 = [1, 2, 3, 4]

var arr2 = [6, 7, 8, 9]

var arr3 = arr1.concat(arr2)

console.log(arr3); ?// [1, 2, 3, 4, 6, 7, 8, 9]

12.arr.join()? -數組轉成字符串

  • 該方法可以將數組轉成一個字符串

  • 該方法不會對原數組產生影響,而是將轉換后的字符串作為結果返回

  • 在join()中可以指定一個字符串作為參數,這個字符串將會成為數組中元素的連接符

    ? ? ? ? ? ? ? ? 如果不指定連接符,則默認使用“,”,作為連接符

var arr = [1, 2, 3, 4]

var str = arr.join('')

console.log(str); ?// 1234

13.arr.split()? -字符串轉數組

  • 使用指定的分隔符字符串將一個String對象分割成子字符串數組

  • 以一個指定的分割字串來決定每個拆分的位置

var str = "red,orange,yellow"

var arr = str.split(',')

console.log(arr); ?// [ 'red', 'orange', 'yellow' ]

14.arr.reverse()? -反轉數組

  • 該方法用來反轉數組(前邊的去后邊,后邊的去前邊)

  • 該方法會直接修改原數組!

var arr = [1, 2, 3, 4, 5]

arr.reverse()

console.log(arr); ?// [ 5, 4, 3, 2, 1 ]

15.arr.sort()? -排序

  • 可以用來對數組中的元素進行排序

  • 會影響原數組,默認會按照Unicode編碼進行排序

  • 可以在sort()添加回調函數,來制定排序規則

  • 如果需要升序,則返回a-b

  • 如果需要降序排列,則返回b-a

var arr = [3, 6, 2, 8, 5, 4]

arr.sort(function (a, b) {

? ? ? ? ? ? return a - b ?// 升序(從小到大)

? ? ? ? })

console.log(arr); ?// [ 2,3,4,5,6,8 ]

var arr = [3, 6, 2, 8, 5, 4]

arr.sort(function (a, b) {

? ? ? ? ? ? return b - a ?// 降序(從大到小)

? ? ? ? })

console.log(arr); ?// [ 8,6,5,4,3,2 ]

16.arr.filter()? -過濾

  • 過濾數組,返回一個滿足要求的數組

  • 兩個參數:

    ? ? ? ? ? value --當前索引的值

    ? ? ? ? ? index --索引

var arr = [3, 6, 2, 8, 5, 4]

var newArr = arr.filter(function (item, index) {

? ? ? ? ? ? return item > 5

? ? ? ? })

console.log(newArr); ?// [ 8,6 ]

17.arr.find()? -查找元素

  • 從數組中找到符合條件的第一個元素

var arr = [1, 2, 3, 4, 5]

var newArr = arr.find(function (item) {

? ? ? ? ? ? return item > 3

? ? ? ? })

console.log(newArr); ?// 4

18.arr.findIndex()? -查找元素

  • 從數組中找到符合條件的第一個元素的索引值

var arr = [1, 2, 3, 4, 5]

var newArr = arr.findIndex(function (item) {

? ? ? ? ? ? return item > 3

? ? ? ? })

console.log(newArr); ?// 3

19.arr.every()? -判斷所有元素

  • 根據條件判斷數組中所有元素滿不滿足,如果滿足則返回 true 不滿足返回 false

var arr = [1, 2, 3, 4, 5]

var newArr = arr.every(function (item) {

? ? ? ? ? ? return item <= 5

? ? ? ? })

console.log(newArr); ?// true

20.arr.some()? -判斷元素

  • 根據條件判斷數組中有沒有一個滿足條件的,只要有一個滿足條件的則返回 ture 否則返回 false

var arr = [1, 2, 3, 4, 5]

var newArr = arr.some(function (item) {

? ? ? ? ? ? return item < 3

? ? ? ? })

console.log(newArr); ?// true

21.arr.reduce()? -累加器

  • 可以為數組中的每個元素依次執行回調函數
  • 常用于函數的計算
  • 有四個參數:初始值(或者上次回調函數的返回值)、當前元素值、當前元素的索引、當前元素所屬的對象

var arr = [1, 2, 3]

var newArr = arr.reduce(function (prev, cur, index, array) {

? ? ? ? ? ? return prev + cur

? ? ? ? })

console.log(newArr); ?// 6

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

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

相關文章

linux命令arp的使用

arp arp 命令用于顯示和修改 IP 到 MAC 轉換表 補充說明 arp 命令 是 Address Resolution Protocol&#xff0c;地址解析協議&#xff0c;是通過解析網絡層地址來找尋數據鏈路層地址的一個網絡協議包中極其重要的網絡傳輸協議。而該命令可以顯示和修改 arp 協議解析表中的緩…

Mia for Gmail for Mac:Mac用戶的郵件管理首選

對于追求高效工作的Mac用戶來說&#xff0c;Mia for Gmail for Mac無疑是郵件管理的首選工具。它以其卓越的性能和豐富的功能&#xff0c;為用戶帶來了前所未有的高效郵件管理體驗。 Mia for Gmail for Mac不僅支持多帳號登錄和標簽選擇功能&#xff0c;還提供了郵件分類、垃圾…

linux 中 fd 申請和釋放管理(兩級 bitmap)

linux 中 fd 的幾點理解_linux fd-CSDN博客 通過上邊的文章&#xff0c;我們可以知道&#xff0c;在 linux 中&#xff0c;fd 有以下幾點需要了解&#xff1a; &#xff08;1&#xff09;fd 表示進程打開的文件&#xff0c;是進程級別的資源&#xff0c;不是系統級別的資源 …

【前端每日一題】day11

一個盒子(DIV)里有若干個小盒子&#xff0c;每個小盒子里還可能有多個小盒子 多層盒子結構。每個盒子都有一個唯一的id和 name 屬性。現在給出一個盒子的 id 請找到這個盒子并打開&#xff0c;輸出這個盒子內部所有小盒子的id和 name&#xff0c;并繼續打開這些小盒子輸出id和 …

【Unity】Unity項目轉抖音小游戲(四)一些常用方法

1.初始化 SDK會在Unity啟動前就初始化好&#xff0c;但是又有Init的接口&#xff0c;所以這里通過 StarkSDK.s_ContainerEnv 判斷有沒有初始化&#xff0c;沒有的話就手動初始化 public override void Init(string code, Action callback){Debug.Log("初始化抖音SDK"…

AIGC全面介紹

AIGC&#xff08;Artificial Intelligence Generated Content&#xff09;&#xff0c;即生成式人工智能&#xff0c;是人工智能1.0時代進入2.0時代的重要標志。這一技術的出現&#xff0c;標志著人工智能從計算智能、感知智能邁向了認知智能的新階段。以下是關于AIGC的全面介紹…

基于manifest文件批量將coding的倉庫導入gitlab中

文章目錄 寫在前面的話背景編寫manifest文件最終效果 寫在前面的話 前面有講過通過manifest清單導入項目到gitlab中&#xff0c;但是實際的操作是不同gitlab實例之間的操作&#xff0c;然而對于在不同gitlab實例的repo遷移而言&#xff0c;顯然direct transfer會更合適。 背景…

民國漫畫雜志《時代漫畫》第21期.PDF

時代漫畫21.PDF: https://url03.ctfile.com/f/1779803-1248634754-017e2b?p9586 (訪問密碼: 9586) 《時代漫畫》的雜志在1934年誕生了&#xff0c;截止1937年6月戰爭來臨被迫停刊共發行了39期。 ps: 資源來源網絡!

代碼隨想錄算法訓練營Day49 | 123.買賣股票的最佳時機III、188.買賣股票的最佳時機IV | Python | 個人記錄向

本文目錄 123.買賣股票的最佳時機III做題看文章 188.買賣股票的最佳時機IV做題 以往忽略的知識點小結個人體會 123.買賣股票的最佳時機III 代碼隨想錄&#xff1a;123.買賣股票的最佳時機III Leetcode&#xff1a;123.買賣股票的最佳時機III 做題 無思路。 看文章 確定dp數…

結構型模式之橋接模式

文章目錄 概述原理結構圖代碼示例 小結 概述 橋接模式(bridge pattern) 的定義是&#xff1a;將抽象部分與它的實現部分分離&#xff0c;使它們都可以獨立地變化。 橋接模式用一種巧妙的方式處理多層繼承存在的問題,用抽象關聯來取代傳統的多層繼承,將類之間的靜態繼承關系轉…

使用位掩碼的權限設計

使用位掩碼的權限設計 權限系統的設計幾乎是每個系統都必需的模塊。 下面就聊一聊基本設計的思路。 位掩碼&#xff08;BitMask&#xff09;&#xff0c;是位&#xff08;Bit&#xff09;和掩碼&#xff08;Mask&#xff09;的組合詞。 “位”指代著二進制數據當中的二進制位…

基于深度學習OCR文本識別系統源碼(帶界面)

第一步&#xff1a;概要 基于深度學習OCR文本識別分為兩個模塊&#xff1a;DBNet和CRNN。 DBNet是基于分割的文本檢測算法&#xff0c;算法將可微分二值化模塊(Differentiable Binarization)引入了分割模型&#xff0c;使得模型能夠通過自適應的閾值圖進行二值化&#xff0c;并…

Postgresql 基礎學習

一、介紹 PostgreSQL是一個開源的關系型數據庫管理系統&#xff08;RDBMS&#xff09;&#xff0c;它支持SQL語言的所有功能&#xff0c;具有可擴展性、高并發性和可靠性等特點。 以下是一些 PostgreSQL 的特點&#xff1a; 開源&#xff1a;PostgreSQL是一個非常受歡迎的開源…

Python-溫故知新

1快速打開.ipynb文件 安裝好anaconda后&#xff0c;在需要打開notebook的文件夾中&#xff0c; shift鍵右鍵——打開powershell窗口——輸入jupyter notebook 即可在該文件夾中打開notebook的頁面&#xff1a; 2 快速查看函數用法 光標放在函數上——shift鍵tab 3...

Docker鏡像源自動測試鏡像速度,并選擇速度最快的鏡像

國內執行如下代碼 bash <(curl -sSL https://gitee.com/xjxjin/scripts/raw/main/check_docker_registry.sh)國外執行如下代碼 bash <(curl -sSL https://github.com/xjxjin/scripts/raw/main/check_docker_registry.sh)如果有老鐵有比較不錯的鏡像源&#xff0c;可以提…

探索Python編程樂趣:制作氣泡反彈小游戲

新書上架~&#x1f447;全國包郵奧~ python實用小工具開發教程http://pythontoolsteach.com/3 歡迎關注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目錄 一、引言&#xff1a;Python編程的輕松入門 二、游戲實現原理&#xff1a;氣泡反彈的邏輯 …

探索生態農業,守護綠色家園

在繁忙的都市生活中&#xff0c;我們往往忽略了與自然和諧相處的重要性。而生態農業&#xff0c;正是讓我們重拾與大自然親密關系的橋梁。通過采用生態友好的耕作方式&#xff0c;生態農業不僅能夠提供健康、營養的農產品&#xff0c;還能夠保護生態環境&#xff0c;實現人與自…

Android高通 12/13靜默安裝和卸載

1、靜默安裝和靜默卸載 涉及代碼路徑感興趣可以去看下如下所示&#xff0c;這里不作重點贅述哈 Package Manger frameworks/base/services/java/com/android/server/pm/Settings.java frameworks/base/services/java/com/android/server/pm/PackageManagerService.java framew…

CCS基礎入門

視頻&#xff1a; CCS使用教程_嗶哩嗶哩_bilibili 創建工程 步驟一&#xff1a;創建 方法一&#xff1a; 方法二&#xff1a; 方法三&#xff1a; 步驟二&#xff1a;選擇工程配置 步驟三&#xff1a;完成創建 編譯工程&#xff1a; 方法一&#xff08;最常用&#xff09;…

Excel中自動驗證URL網址鏈接有效性

下面表格中的網址有的可以打開&#xff0c;有的不能打開 在Excel中按下 Alt F11 鍵來打開VBA編輯器&#xff0c;選擇 插入 > 模塊&#xff0c;創建一個新的模塊&#xff0c;在新創建的模塊窗口中輸入以下代碼&#xff1a; Function 測試網址(ByVal URL As String) As Str…