日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

详述JavaScript数组

發布時間:2025/3/21 javascript 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 详述JavaScript数组 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

摘要

數組是JavaScript中的常用類型,本文詳述了數組的基本知識以及一些常用的數組方法,并對每種方法進行了詳細解釋

數組定義

  • 用字面量直接定義
  • var arr=[0,0,0]; //注意,是方括號
  • 通過new Array();
    • 參數為一個時,表示數組的長度
    • 參數為多個時,則表示數組元素

    數組增刪

    • arr(arr.length)=0; //在數組最后面添加元素
    • push()/pop(); //在數組最后面增刪元素
    • unshift()/shift(); //在數組最前面增刪元素

    數組迭代

    for...in,eg:for(i in arr){}

    • 遍歷數組
    • 會把數組原型鏈上的元素一同遍歷出來
    • 是無序遍歷

    二維數組

    定義:
    var arr=[[0,1],[0,1]]

    稀疏數組

    并不含有從0開始的連續索引,一般數組的length會比實際元素個數大。不連續的索引返回undefined,可利用此判讀。

    數組方法

    數組原型鏈上提供了大量方法

    Array.prototype.join()

    • 將數組轉為字符串,同時將傳入字符串插入每個元素中間,可通過此方法將字符串重復
    function reapeatString(str,n) {return new Array(n+1).join(str); } reapeatString(hi,3); //hihihi

    Array.prototype.reverse()

    • 將數組逆序,直接修改數組

    Array.prototype.sort()

    • 將數組排序,默認按字母升序排列,直接修改數組
    • 可按自定義規則排序,傳入比較函數
    arr.sort(function(a,b){return a-b; })

    按正常數值相減的正負返回,是升序排列;按正常數值相減的正負符合取反,是降序排列.
    傳入的a,b可以是對象或數組(但都是某個數組的元素),相減時再具體到數組的第幾個數值或對象的哪個屬性,最后會按結果對包含數組排序

    Array.prototype.concat()

    • 合并數組,不直接修改原數組,需通過返回值才能拿到結果
    • 若傳入參數是一維數組,會被拉平
    • 若傳入參數是二維數組,,會拉平最外第一維,元素數組格式不變
    var arr=[0,0,0]; arr.concat([1,2],10); //[0,0,0,1,2,10] arr.concat([[1,2],10]); //[0,0,0,[1,2],10]

    Array.prototype.slice(n,m)

    • 獲取部分數組,arr[n]到arr[m-1],即左閉右開
    • Array.prototype.slice(n),從arr[n]到最后,包含最后的所有元素
    • 若參數為負值,則表示由后往前的索引值,最后一個元素為-1

    Array.prototype.splice()

    • 刪除和添加部分數組,對原數組直接修改
    • 傳入參數:
    • 第一個:索引
    • 第二個:刪除個數 (可無)
    • 后面:將添加的數組,在索引處添加 (可無)

    Array.prototype.forEach(function(x,index,a){})

    • 遍歷數組,對每個元素調用回調函數
    • 回調函數可傳入三個參數:元素的值,元素的索引,數組本身

    E5S的新方法,IE9及以上支持,接下來都是

    Array.prototype.map(function(x,index,a){})

    • 數組映射,對每個元素按函數里的映射方式進行映射,不直接修改原數組

    Array.prototype.filter(function(x,index,a){})

    • 數組過濾,按回調函數返回值的真假,過濾掉為真的元素,不直接修改原數組,通過返回值拿結果

    Array.prototype.every(function(x,index,a){})

    • 數組判斷,每一個元素,回調函數都返回真時,返回真。發現有不滿足的元素,就不繼續遍歷了

    Array.prototype.some(function(x,index,a){})

    • 數組判斷,存在元素,回調函數返回真時,返回真。發現有滿足的元素,就不繼續遍歷了

    Array.prototype.reduce(function(x,y){})

    • 數組元素累加,對數組元素逐個進行操作,每次操作的結果將用于下一次操作
    • 回調函數傳入參數
    • 第一個:上次回調函數的返回值,第一次時為數組第一個元素
    • 第二個:這次將操作的數組元素,第一次時為數組第二個元素

    Array.prototype.indexOf(要查找的元素,開始查找的位置)

    • 查找元素
    • 返回值:首個被找到的元素在數組中的索引位置; 若沒有找到則返回 -1

    Array.isArray(所要檢查的對象)

    • 檢查對象是否為數組,是返回true,否則false
    • 為構造器上的方法

    轉載于:https://www.cnblogs.com/rongmm/p/6278891.html

    總結

    以上是生活随笔為你收集整理的详述JavaScript数组的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。