1薯蝎、push()
向數(shù)組的末尾添加新內(nèi)容
參數(shù):要添加的項(xiàng)嗡贺。傳遞多個(gè)用逗號(hào)隔開(kāi)囊蓝,任何數(shù)據(jù)類(lèi)型都可以
返回值:新增后數(shù)組的長(zhǎng)度
是否改變?cè)瓟?shù)組:改變
let arr = [12,34,26];
arr.push(100); //返回一個(gè)新的長(zhǎng)度 length=4
console.log(arr)//結(jié)果為 [12,34,26,100]
2邪媳、pop()
刪除數(shù)組的最后一項(xiàng)
參數(shù):無(wú)
返回值:被刪除的項(xiàng)
是否改變?cè)瓟?shù)組:改變
let arr = [108,112,39,10];
arr.pop();//刪除的最后一項(xiàng)為10
console.log(arr);//[108, 112, 39]
3、shift()
刪除數(shù)組的第一項(xiàng)
參數(shù):無(wú)
返回值:被刪除的項(xiàng)
是否改變?cè)瓟?shù)組:改變
let arr = [0,108,112,39];
arr.shift();//刪除的第一項(xiàng)為0
console.log(arr);//[108, 112, 39]
4檬洞、unshift()
向數(shù)組首位添加新內(nèi)容
參數(shù):要添加的項(xiàng)狸膏,多項(xiàng)用','隔開(kāi)
返回值:新數(shù)組的長(zhǎng)度
是否改變?cè)瓟?shù)組:改變
let arr = ['c','d'];
arr.unshift('a','b');
console.log(arr);//["a", "b", "c", "d"]
5、slice()
按照條件查找出其中的部分內(nèi)容
參數(shù):
array.slice(n, m)添怔,從索引n開(kāi)始查找到m處(不包含m)
array.slice(n) 第二個(gè)參數(shù)省略湾戳,則一直查找到末尾
array.slice(0)原樣輸出內(nèi)容,可以實(shí)現(xiàn)數(shù)組克隆
array.slice(-n,-m) slice支持負(fù)參數(shù)广料,從最后一項(xiàng)開(kāi)始算起砾脑,-1為最后一項(xiàng),-2為倒數(shù)第二項(xiàng)
返回值:返回一個(gè)新數(shù)組
是否改變?cè)瓟?shù)組:不改變
let arr = [1,2,3,4,5,6,7,8,9];
//console.log(arr.slice(2,8));//從索引2開(kāi)始查找到索引為8的內(nèi)容艾杏,結(jié)果為[3, 4, 5, 6, 7, 8]
//console.log(arr.slice(0));
console.log(arr.slice(-2,-1));//[8]
6韧衣、splice()
對(duì)數(shù)組進(jìn)行增刪改
增加:arr.splice(n,0,m)從索引n開(kāi)始刪除0項(xiàng),把m或者更多的內(nèi)容插入到索引n的前面
返回空數(shù)組
修改:arr.splice(n,x,m)從索引n開(kāi)始刪除x個(gè)购桑,m替換刪除的部分
把原有內(nèi)容刪除掉畅铭,然后用新內(nèi)容替換掉
刪除:arr.splice(n,m) 從索引n開(kāi)始刪除m個(gè)內(nèi)容
(如果第二個(gè)參數(shù)省略,則從n刪除到末尾)
返回刪除的新數(shù)組其兴,原有數(shù)組改變
//增加
let arr = [33,44,55,66,77,88];
arr.splice(2,0,'a','b')
console.log(arr);// [33, 44, "a", "b", 55, 66, 77, 88]
//修改
let arr = [33,44,55,66,77,88];
arr.splice(1,2,'x','y')
console.log(arr);// [33, "x", "y", 66, 77, 88]
//刪除
let arr = [33,44,55,66,77,88];
//console.log(arr.splice(3,2))//[66, 77]
console.log(arr.splice(3));//[66, 77, 88]
7顶瞒、join()
用指定的分隔符將數(shù)組每一項(xiàng)拼接為字符串
參數(shù):指定的分隔符(如果省略該參數(shù)夸政,則使用逗號(hào)作為分隔符)
返回值:拼接好的字符串
是否改變?cè)瓟?shù)組:不改變
let arr= [1,2,3];
console.log(arr.join('元旬、'));//1、2守问、3
8匀归、concat()
用于連接兩個(gè)或多個(gè)數(shù)組
參數(shù):參數(shù)可以是具體的值,也可以是數(shù)組對(duì)象耗帕∧露耍可以是任意多個(gè)
返回值:返回連接后的新數(shù)
是否改變?cè)瓟?shù)組:不改變
let arr = ['你'];
let arr = ary8.concat('好');
console.log(arr);//["你", "好"]
9、indexOf()
檢測(cè)當(dāng)前值在數(shù)組中第一次出現(xiàn)的位置索引
參數(shù):array.indexOf(item,start) item:查找的元素 start:字符串中開(kāi)始檢索的位置
返回值:第一次查到的索引仿便,未找到返回-1
是否改變?cè)瓟?shù)組:不改變
let arr = ['a','b','c','d','e','a','f'];
console.log(arr.indexOf('c'));//2
console.log(arr.indexOf('a',3))//5
10体啰、lastIndexOf()
檢測(cè)當(dāng)前值在數(shù)組中最后一次出現(xiàn)的位置索引
參數(shù):array.lastIndexOf(item,start) item:查找的元素 start:字符串中開(kāi)始檢索的位置
返回值:第一次查到的索引,未找到返回-1
是否改變?cè)瓟?shù)組:不改變
let arr = ['a','b','c','d','e','a','f'];
console.log(arr.lastIndexOf('c'));//2
console.log(arr.lastIndexOf('f',1))//-1
11嗽仪、includes()
判斷一個(gè)數(shù)組是否包含一個(gè)指定的值
參數(shù):指定的內(nèi)容
返回值:布爾值
是否改變?cè)瓟?shù)組:不改變
let arr = ['a','b','c','d'];
console.log(arr.includes('c'));//true
console.log(arr.includes(2));//false
12荒勇、sort()
對(duì)數(shù)組的元素進(jìn)行排序(默認(rèn)是從小到大來(lái)排序 并且是根據(jù)字符串來(lái)排序的)
參數(shù):可選(函數(shù)) 規(guī)定排序規(guī)則 默認(rèn)排序順序?yàn)榘醋帜干?br>
返回值:排序后新數(shù)組
是否改變?cè)瓟?shù)組:改變
sort在不傳遞參數(shù)情況下,只能處理10以內(nèi)(個(gè)位數(shù))數(shù)字排序
let ary11 = [32,44,23,54,90,12,9];
ary11.sort(function(a,b){
// return a-b; // 結(jié)果[9, 12, 23, 32, 44, 54, 90]
// return b-a; // 結(jié)果[90, 54, 44, 32, 23, 12, 9]
})
console.log(ary11);
13闻坚、reverse()
把數(shù)組倒過(guò)來(lái)排列
參數(shù):無(wú)
返回值:倒序后新數(shù)組
是否改變?cè)瓟?shù)組:改變
let arr = [6,8,10,12];
console.log(arr.reverse());//[12, 10, 8, 6]
14沽翔、forEach()
循環(huán)遍歷數(shù)組每一項(xiàng)
參數(shù):函數(shù) ary.forEach(function(item,index,ary){}) item:每一項(xiàng) index:索引 ary:當(dāng)前數(shù)組
返回值:無(wú)
是否改變?cè)瓟?shù)組:不改變
forEach中不能使用continue和break,forEach中不能跳出,只能跳過(guò)(return跳過(guò))
let ary14 = ['a','b','c','d'];
let item = ary14.forEach(function(item,index,ary){
console.log(item,index,ary);
})