數(shù)組常用API

1.reverse()

將數(shù)組的元素顛倒過來,也就是變成逆序,此方法會(huì)修改原數(shù)組。

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

2.sort()

默認(rèn)對數(shù)組進(jìn)行升序排序。此方法會(huì)修改原數(shù)組。

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

如果數(shù)組中 存放的不是整數(shù)呢?假設(shè)數(shù)組中有字符串1,10,9,100那么最終的排序結(jié)果卻是1,10,100,9。這是因?yàn)閟ort是按字母順序?qū)?shù)組中的元素進(jìn)行排序,說得更精確點(diǎn),是按照字符編碼的順序進(jìn)行排序。

如果想按照其他標(biāo)準(zhǔn)進(jìn)行排序,就需要提供比較函數(shù),該函數(shù)要比較兩個(gè)值,然后返回一個(gè)用于說明這兩個(gè)值的相對順序的數(shù)字。

function compare(value1,value2){
       return value1-value2;
    }
}
var arr=["1","10","9","100"];
arr.sort(compare);
console.log(arr);//["1","9","10","100"]

兩個(gè)字符串?dāng)?shù)字相減會(huì)轉(zhuǎn)化為整數(shù),所以當(dāng)value1小于value2時(shí)會(huì)返回負(fù)數(shù),當(dāng)value1大于value2時(shí)會(huì)返回正數(shù),sort會(huì)根據(jù)這些不同的返回值來進(jìn)行排序(在這里就是按照字符串的數(shù)字值來排序)。

3.concat()

數(shù)組的拼接,創(chuàng)建當(dāng)前數(shù)組的副本,將接收到的參數(shù)添加到這個(gè)副本中并返回新構(gòu)建的數(shù)組。

var arr1=["black","white","red"];
var arr2=arr1.concat("blue");
console.log(arr2);//["black","white","red","blue"]

4.slice()

可以把slice當(dāng)作創(chuàng)建當(dāng)前數(shù)組的子數(shù)組,它的參數(shù)代表數(shù)組的位置,當(dāng)只有一個(gè)參數(shù)時(shí),返回從該位置到數(shù)組末尾的子數(shù)組,當(dāng)有兩個(gè)參數(shù)時(shí),返回起始位置到結(jié)束位置-1的子數(shù)組。

var arr=["red","green","blue","yellow"];
var arr1=arr.slice(1);
var arr2=arr.slice(1,3);
console.log(arr1);//["green","blue","yellow"]
console.log(arr2);//["green","blue"]

5.splice()

splice可以說是數(shù)組的所有方法中最強(qiáng)大的方法了,它既可以實(shí)現(xiàn)刪除,也可以實(shí)現(xiàn)插入,還可以實(shí)現(xiàn)替換。它接受三個(gè)參數(shù),要?jiǎng)h除的第一項(xiàng)的位置,要?jiǎng)h除的項(xiàng)數(shù),要替換的新數(shù)據(jù)。

如果指定前兩個(gè)參數(shù)就可以實(shí)現(xiàn)刪除,如果指定三個(gè)參數(shù)并且第二個(gè)參數(shù)為0,就是實(shí)現(xiàn)了插入,如果指定了三個(gè)參數(shù)就實(shí)現(xiàn)了替換。
splice在原數(shù)組上進(jìn)行修改,并返回刪除的項(xiàng)。

var arr=["red","green","blue","yellow"];
arr.splice(0,2);//刪除數(shù)組中的前兩項(xiàng)
console.log(arr);//["blue","yellow"]
arr.splice(0,0,"red","green");//插入
console.log(arr);//["red","green","blue","yellow"]
arr.splice(0,1,"black");//替換掉第一個(gè)元素
console.log(arr);//["black","green","blue","yellow"]

6.indexOf()、lastIndexOf()

返回某個(gè)元素的位置,indexOf是從數(shù)組的開頭查找,lastIndexOf是從后往前找。

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

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

  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,679評論 0 4
  • 由于最近都在freecodecamp上刷代碼,運(yùn)用了很多JavaScript數(shù)組的方法,因此做了一份關(guān)于JavaS...
    2bc5f46e925b閱讀 2,177評論 0 16
  • 本章內(nèi)容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的 JavaScript 類型 使用基本類型和基本包裝類型 引用類型的...
    悶油瓶小張閱讀 781評論 0 0
  • 數(shù)組是值的有序集合。每個(gè)值叫做一個(gè)元素,而每個(gè)元素在數(shù)組中有一個(gè)位置,以數(shù)字表示,稱為索引。 JavaScript...
    劼哥stone閱讀 1,251評論 6 20
  • 一、題目 二、解題 由于是先做了Single Number II,所以一的解法就有了比較重要的靈感,這里只要異或就...
    樂樂可愛睡覺閱讀 737評論 0 1

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