數(shù)組中的API匯總

一、添加

1、push() 方法將一個(gè)或多個(gè)元素添加到數(shù)組的末尾,并返回?cái)?shù)組的新長(zhǎng)度。

2、unshift() 方法將一個(gè)或多個(gè)元素添加到數(shù)組的開(kāi)頭,并返回新數(shù)組的長(zhǎng)度。

二、刪除

1、pop()方法從數(shù)組中刪除最后一個(gè)元素,并返回該元素的值。此方法更改數(shù)組的長(zhǎng)度。

2、shift() 方法從數(shù)組中刪除第一個(gè)元素,并返回該元素的值。此方法更改數(shù)組的長(zhǎng)度。

三、操作

1、concat() 方法用于合并兩個(gè)或多個(gè)數(shù)組。此方法不會(huì)更改現(xiàn)有數(shù)組,而是返回一個(gè)新數(shù)組。

var color = ['red','green','blue'];
var color2 = color.concat('yellow',['black','white']);
console.log(color2)     //red,green,blue,yellow,black,white

2、slice()方法返回一個(gè)從開(kāi)始到結(jié)束(不包括結(jié)束)選擇的數(shù)組的一部分淺拷貝到一個(gè)新數(shù)組對(duì)象,原始數(shù)組不會(huì)被修改。

var colors = ['red','green','blue','black','white'];
var colors2 = colors.slice(1)   //green,blue,black,white
var colors3 = colors.slice(1,4) //green,blue,black

3、splice()方法始終會(huì)返回一個(gè)數(shù)組,該數(shù)組包含從原始數(shù)組中刪除的項(xiàng)(如果沒(méi)有刪除任何項(xiàng),則返回一個(gè)空數(shù)組),用途最廣,有如下3種

刪除:需指定2個(gè)參數(shù),要?jiǎng)h除的第一項(xiàng)位置和要?jiǎng)h除的項(xiàng)數(shù)
插入:需提供3個(gè)參數(shù),起始位置、0(要?jiǎng)h除的項(xiàng)數(shù))和要插入的項(xiàng),如要插入多個(gè)  項(xiàng) ,再傳入第四,五...
替換:需指定3個(gè)參數(shù),起始位置、要?jiǎng)h除的項(xiàng)數(shù)和要插入的任意數(shù)量的項(xiàng)
var colors = ['red','green','blue'];
var removed = colors.splice(0,1);
console.log(colors);      //green,blue
console.log(removed);     //red

var removed = colors.splice(1,0,'black');
console.log(colors);     //green,black,blue
console.log(removed);    // 返回空數(shù)組

var removed = colors.splice(0,2,'yellow','white');
console.log(colors);     //yellow,white,blue
console.log(removed);    //red,green

四、位置方法

indexOf()方法從數(shù)組的開(kāi)頭(位置0)開(kāi)始向后查找,

lastIndexOf()方法從數(shù)組的末尾開(kāi)始向前查找,

這兩個(gè)方法都接收兩個(gè)參數(shù):要查找的項(xiàng)和(可選的)表示查找起點(diǎn)位置的索引,沒(méi)找到返回-1

五、重排序方法

sort()方法按升序排列數(shù)組項(xiàng)--即最小的值位于最前面,最大的值排在后面。

reverse()降序排列;

注意:如果調(diào)用該方法時(shí)沒(méi)有使用參數(shù),將按字母順序?qū)?shù)組中的元素進(jìn)行排序,說(shuō)得更精確點(diǎn),是按照字符編碼的順序進(jìn)行排序。要實(shí)現(xiàn)這一點(diǎn),首先應(yīng)把數(shù)組的元素都轉(zhuǎn)換成字符串(如有必要),以便進(jìn)行比較,再接收一個(gè)比較函數(shù)作為參數(shù),以便我們指定哪個(gè)值位于哪個(gè)值的前面;

function compare(val1,val2) {

    if(val1 < val2){
        return -1;
    }else if(val1 > val2){
        return 1;
    }else {
        return 0
    }
}
var val = [0,1,35,2,18];
console.log(val.sort(compare));     // 0,1,2,18,35
console.log(val.reverse(compare));   //35,18,2,1,0

console.log(val.sort());     // 0,1,18,2,35
console.log(val.reverse());   //35,2,18,1,0

六、迭代方法

1、forEach(),對(duì)數(shù)組的每一項(xiàng)運(yùn)行給定函數(shù),這個(gè)方法沒(méi)有返回值。本質(zhì)上與使用for循環(huán)迭代數(shù)組是一樣的

2、map() 創(chuàng)建一個(gè)新數(shù)組,其結(jié)果是該數(shù)組中的每個(gè)元素都調(diào)用一個(gè)提供的函數(shù)后返回的結(jié)果。

七、轉(zhuǎn)換方法

1、toString()方法會(huì)返回由數(shù)組中每個(gè)值的字符串形式拼接而成的一個(gè)以逗號(hào)分隔的字符串

2、valueOf()返回的還是數(shù)組

3、toLocaleString()方法也會(huì)返回由數(shù)組中每個(gè)值的字符串形式拼接而成的一個(gè)以逗號(hào)分隔的字符串

區(qū)別:

var date = new Date();
console.log(date.valueOf());    //1524815456865
console.log(date.toString());   //Fri Apr 27 2018 15:50:56 GMT+0800 (CST)
console.log(date.toLocaleString()); //2018/4/27 下午5:34:56

var num = new Number(1337);
console.log(num.valueOf());    //1337,返回一個(gè) Number 對(duì)象的基本數(shù)字值
console.log(num.toString());    //1337,字符串
console.log(num.toLocaleString());    //1,337,把數(shù)字轉(zhuǎn)換為字符串,使用本地?cái)?shù)字格式順序

注意:
toLocalString()是調(diào)用每個(gè)數(shù)組元素的 toLocaleString() 方法,然后使用地區(qū)特定的分隔符把生成的字符串連接起來(lái),形成一個(gè)字符串。

toString()方法獲取的是String(傳統(tǒng)字符串),而toLocaleString()方法獲取的是LocaleString(本地環(huán)境字符串)。

如果你開(kāi)發(fā)的腳本在世界范圍都有人使用,那么將對(duì)象轉(zhuǎn)換成字符串時(shí)請(qǐng)使用toString()方法來(lái)完成。

LocaleString()會(huì)根據(jù)你機(jī)器的本地環(huán)境來(lái)返回字符串,它和toString()返回的值在不同的本地環(huán)境下使用的符號(hào)會(huì)有微妙的變化。

所以使用toString()是保險(xiǎn)的,返回唯一值的方法,它不會(huì)因?yàn)楸镜丨h(huán)境的改變而發(fā)生變化。如果是為了返回時(shí)間類(lèi)型的數(shù)據(jù),推薦使用LocaleString()。若是在后臺(tái)處理字符串,請(qǐng)務(wù)必使用toString()。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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