Array作為JavaScript中的高頻使用對(duì)象,擁有十分豐富的方法潘明,能夠幫助我們快速處理常見問(wèn)題巢价。
這一節(jié)中城菊,我們來(lái)學(xué)習(xí)一下那些Array常用的方法。
連接兩個(gè)數(shù)組
兩個(gè)數(shù)組的連接使用concat方法客税,而不能使用“+”测垛,使用"+"來(lái)連接array會(huì)先轉(zhuǎn)化為String然后相加。
var array1 = [1,2]
var array2 = [3,4]
var array3 = array1 + array2;
console.log(array3) // 輸出 1,23,4
var array4 = array1.concat(array2)
console.log(array4) // 輸出 [ 1, 2, 3, 4 ]
連元素連接成字符串
join方法接受一個(gè)參數(shù)deliminator。join方法將數(shù)組中的所有元素連接在一起,以deliminator分隔。
var array = [1,2,3,4]
console.log(array.join('-')) // 輸出1-2-3-4
返回部分序列
slice(start_index, end_index)方法可以將數(shù)組的一部分以一個(gè)新array返回脉执。
var array = [1,2,3,4]
console.log(array.slice(1,3)) // 輸出 [2,3]
替換元素
splice(start_index, count, item1, item2 ...)疼阔,splice函數(shù)將原數(shù)組中從start_index開始的連接count個(gè)元素刪除,然后依次挺入item1半夷,item2....婆廊。splice返回被移除的元素。
var array = [1,2,3,4]
array.splice(1,2, 8, 9) // 插入8巫橄,9
console.log(array) // 輸出結(jié)果為[ 1, 8, 9, 4 ]
排序
sort方法可以用來(lái)對(duì)元素排序淘邻。
var array = [2,1,4,3]
array.sort()
console.log(array) // 輸出 [ 1, 2, 3, 4 ]
sort可以也可接受一個(gè)函數(shù)func(a,b),用于控制排序:
var array = [2,1,4,3]
array.sort(function(a,b){
return a-b
})
console.log(array) // 輸出 [1,2,3,4]
為了將上述排序結(jié)果逆序湘换,可以寫成下面這樣:
var array = [2,1,4,3]
array.sort(function(a,b){
return b-a
})
console.log(array) // 輸出 [4,3,2,1]
搜索元素索引
indexOf(value, start_index=0)宾舅,indexOf方法從start_index開始,搜索array中值為value的元素彩倚。
var a = [1,2,3,4,2,3,4]
console.log(a.indexOf(2)); // 輸出 1
console.log(a.indexOf(2, 2)); // 輸出4
console.log(a.indexOf(5)); // 輸出 -1, 因?yàn)?不存在
邏輯操作
every(func)用于判定是否所有元素都能讓func為true筹我。
var array = [1,2,3,4,2,3,4]
var res = array.every(function(item){
return item>0;
}) // 判斷是否所有元素都大于0
console.log(res) // 輸出 true
some(func)用于判定是否有元素能讓func為true。
var array = [1,2,3,4,2,3,4]
var res = array.some(function(item){
return item<0
}) // 判斷是否有元素小于0
console.log(res) // 輸出 false
函數(shù)式編程方法
Array還提供了一些函數(shù)式編程方法帆离,如map()蔬蕊、filter()、reduce()哥谷,非常方便岸夯。這些函數(shù)式編程方法將在后續(xù)課程中介紹麻献。
什么是TypedArray?