引用丨Array類型

2、Array類型

?

數(shù)組基本概念
01. 創(chuàng)建方法
空數(shù)組 new Array( );
指定長度 new Array( Size );
指定元素 new Array( 元素1,元素2,元素3,...,元素N );
單維 var Obj = new [ 元素1,元素2,元素3,...,元素N ];
多維 var Obj = new Array(  [ 數(shù)組序列1 ],[ 數(shù)組序列2 ],...,[ 數(shù)組序列N ] );


02. 基本操作
    存取數(shù)組元素
        01. 單維數(shù)組
                數(shù)組名[ 下標(biāo)索引 ]
        02. 多維數(shù)組
            數(shù)組名[ 外層數(shù)組下標(biāo) ][ 內(nèi)層元素下標(biāo) ]
                數(shù)組元素可添加到對象中
    增加數(shù)組
            使用“[ ]”運算符指定一個新的下標(biāo)
    刪除數(shù)組
            delete 數(shù)組名[ 下標(biāo) ]
    遍歷數(shù)組
            for (var 數(shù)組元素變量 in 數(shù)組)


03. 數(shù)組屬性
    constructor: 引用數(shù)組對象的構(gòu)造函數(shù)
    length: 返回數(shù)組的長度
    prototype: 通過增加屬性和方法擴展數(shù)組的定義

?

ES3


// 創(chuàng)建數(shù)組的基本方法
    new Array() === Array() === []

    讀取和設(shè)置數(shù)組的值:arr['索引'] //從0開始
    
    數(shù)組設(shè)置長度后,超出部分被移除




// 1、檢測數(shù)組
    // ES3
    if (value instanceof Array) {
        
    }

    // ES5
    if (Array.isArray(value)) {
        
    }



// 2、轉(zhuǎn)換方法
    toLocalString()、toString()、valueOf()
    
    toString()、valueOf()返回數(shù)組的字符串【用,隔開】
    
    join('分隔符'):使用分隔符,轉(zhuǎn)換成數(shù)組



// 3、棧方法
    Array.push() / arr.pop()// 向數(shù)組中添加元素
    Array.unshift() / arr.shift()// 取出數(shù)組中元素



// 4、隊列方法
    Array.push() / Array.pop()// 向數(shù)組中添加元素
    Array.unshift() / Array.shift()// 取出數(shù)組中元素
    


// 5、重排序方法
    Array.reverse() / Array.sort()
    
    // arr.sort(): 數(shù)組項調(diào)用toString()轉(zhuǎn)字符串,進行字符串比較;
    var arr = [0, 1, 10, 15]
    arr.sort()// [0, 1, 10, 5] 因為進行字符串比較,5的字符串值比10大
        
    // 從小到大排序
    function sortNumber(a,b){
        return a-b;
    }
    arr.sort(sortNumber);



// 6、操作方法
    Array.concat(可接受多個數(shù)組): 末尾拼接數(shù)組
    
    Array.slice(起始索引, 截止索引) 返回數(shù)組的一部分;// 截取數(shù)組成新數(shù)組(原數(shù)組不變)
    
    // 參數(shù)1: 選取元素的索引; 參數(shù)2: 截取元素的長度;  參數(shù)3: 添加數(shù)據(jù)的內(nèi)容
    Array.splice(參數(shù)1,參數(shù)2,參數(shù)3) 增刪改數(shù)組(改變原數(shù)組)



    

?

ES5


// 7、位置方法
    Array.indexOf(查找項, 起查位置): 從前開始查
    Array.lastIndexOf(查找項, 起查位置): 從后開始查,
    
    示例: Array.indexOf(ele, index) 查找ele,返回值為索引,如果沒有該元素返回-1;



// 8、迭代方法
    Array.every(func): 數(shù)組每一項, 是否符合給定函數(shù)的要求;// 全部符合返回true,否則false
    
    Array.filter(func): 返回數(shù)組中, 符合給定函數(shù)要求的數(shù)組項;
    
    Array.forEach(): 數(shù)組每一項, 運行給定函數(shù), 沒有返回值;
    
    Array.map(): 數(shù)組每一項, 運行給定函數(shù), 返回每次結(jié)果組成的數(shù)組;
    
    Array.some(): 數(shù)組每一項, , 是否存在符合給定函數(shù)的要求的數(shù)組項;// 存在, 返回true, 否則返回false
    

// 9、縮小方法
    Array.reduce(func)// 從第一項,迭代所有數(shù)組項,構(gòu)建一個最終返回的值;
    Array.reduceRight(func)// 從最后一項,迭代所有數(shù)組項,構(gòu)建一個最終返回的值;
    
    示例:
    let arr = [1, 2, 3, 4, 5]
    function count(pre, cur, index, array){
        return pre + cur
    }
    arr.reduce(count);// 15

?
?
?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容