下面介紹時arr代表數組
屬性
arr.length--計算數組的長度。傳回--數組長度值
let arr = [1,2,3,4]
console.log(arr.length)
//結果: 4
方法
- 1. arr.push()--在數組尾部添加元素。得到添加元素後的數組,傳回數組長度
let arr = [1,2,3,4]
console.log(arr.push(5,6))
//結果: 6
console.log(arr);
//結果:[1,2,3,4,5,6]
- 2. arr.pop()--删除數組中最後一個元素。得到删除後的數,傳回删除的值
let arr = [1,2,3,4]
console.log(arr.pop())
//結果: 4
console.log(arr)
//結果:[1,2,3]
- 3. arr.shift()--删除數組頭部元素。得到删除後的數組,傳回删除的值
let arr = [1,2,3,4]
console.log(arr.shift());
//結果: 1
console.log(arr);
//結果:[2,3,4]
- 4. arr.unshift()--在數組頭部添加元素。得到添加後的數組,傳回數組長度值
let arr = [1,2,3,4]
console.log(arr.unshift(0))
//結果: 5
console.log(arr);
//結果:[0,1,2,3,4]
- 5. arr.indexOf()--找到元素對應的索引(從左向右查)。數組不變,傳回值--找到:對應索引值;找不到: -1
let arr = [1,2,3,4]
console.log(arr.indexOf(4));
//結果: 3
console.log(arr.indexOf(0));
//結果: -1
- 6. arr.lastIndexOf()--找到元素對應的索引(從右向左查)。數組不變,傳回值--找到:對應索引值;找不到: -1
let arr = [1,2,3,4]
console.log(arr.lastIndexOf(4))
//結果: 3
console.log(arr.lastIndexOf(0))
//結果: -1
- 7. arr.splice()--通過索引删除某個元素。得到删除後的數組,傳回的是删除的數組
let arr = [1,2,3,4]
//第一個值為索引,代表從哪開始删(包括自己)
//第二個值為删除個數
//隻有一個值時,表示從目前索引對應值開始,後面的全部删除,包括自己
console.log(arr.splice(0));
//結果: [1,2,3,4]
console.log(arr);
//結果: []
console.log(arr.splice(0,2));
//結果: [1,2]
console.log(arr);
//結果: [3,4]
- 8. arr.fill()--将數組中指定區間的所有元素的值,都替換成某個固定的值。得到替換後的數組,傳回的也是替換後的數組
let arr = [1, 2, 3, 4]
//第一個值為替換後的元素
//後兩個代表區間,[1,3)
//隻寫一個值,則全部替換
console.log(arr.fill(8,1,3));
//結果: [1,8,8,4]
console.log(arr);
//結果: [1,8,8,4]
- 9. arr.reverse()--颠倒數組中元素的排列順序,即原先的第一個變為最後一個,原先的最後一個變為第一個。得到翻轉後的數組,傳回的也是翻轉後的數組
let arr = [1, 2, 3, 4]
console.log(arr.reverse(2))
//結果: [4,3,2,1]
console.log(arr);
//結果: [4,3,2,1]
- 10. arr.sort()--對數組元素進行排序。得到排序後的數組,傳回的也是排序後的數組
let arr = [1, 5, 3, 4,8,5,6]
//升序,預設升序
console.log(arr.sort());
//結果: [1,3,4,5,5,6,8]
console.log(arr);
//結果: [1,3,4,5,5,6,8]
//降序
console.log(arr.sort((a,b)=>{return b-a}));
//結果: [8,6,5,5,4,3,1]
console.log(arr);
//結果: [8,6,5,5,4,3,1]
- 11. arr.concat()--數組合并,可以合并多個數組。得到合并後的數組,傳回的也是合并後的數組
let arr1 = [1,2,3,4]
let arr2 = [1,2,3,4]
let arr3 = [5,6,7]
console.log(arr1.concat(arr2));
//結果: [1,2,3,4,1,2,3,4]
arr = arr1.concat(arr2,arr3)
console.log(arr);
//結果: [1,2,3,4,1,2,3,4,5,6,7]
- 12. arr. includes()--判斷目前數組是否包含某指定的值,如果是傳回
,否則傳回true
false
let arr = [1,2,3,4]
console.log(arr.includes(0))
//結果: false
console.log(arr.includes(1))
//結果: true
- 13. arr.slice()--截取目前數組中的一段元素組合成一個新數組,原數組不變,傳回截取後的數組
let arr = [1,2,3,4]
console.log(arr.slice(0))
//結果: [1,2,3,4]
console.log(arr.slice(0,1))
//結果: [1]
console.log(arr)
//結果: [1,2,3,4]
- 14. arr. forEach((item,index)=>{})--周遊數組,為數組中的每個元素執行一次回調函數,原數組不變
let arr = [1,2,3,4]
//第一個參數為值,第二個為索引
arr.forEach((item,index)=>{
console.log(item,index);
})
console.log(arr);
//結果:
1,0
2,1
3,2
4,3
[1,2,3,4]
- 15. arr. filter((item,index)=>{})--将所有在過濾函數中傳回
的數組元素放進一個新數組中并傳回,原數組不變,傳回過濾後的數組true
let arr = [1,2,3,4]
arr1 = arr.filter((item,index)=>{
return item>2
})
console.log(arr1)
//結果: [3,4]
console.log(arr)
//結果: [1,2,3,4]
- 16. arr.map((item,index)=>{})--傳回更改每一項後的數組,原數組不變,傳回更改後的數組
let arr = [1,2,3,4]
arr1 = arr.map((item,index)=>{
return item=2
})
console.log(arr1)
//結果: [2,2,2,2]
console.log(arr)
//結果: [1,2,3,4]
- 17. arr.find((item,index)=>{})--找到第一個滿足測試函數的元素并傳回那個元素的值,如果找不到,則傳回
undefined
let arr = [1, 2, 3, 4, 1, 2, 3, 4]
let found1 = arr.find((item,index) => item > 1)
console.log(found1);
//結果: 2
let found2 = arr.find((item,index) => item > 11)
console.log(found2);
//結果: undefined
- 18. arr.findIndex((item,index)=>{})--找到第一個滿足測試函數的元素并傳回那個元素的索引,如果找不到,則傳回
-1
let arr = [1, 2, 3, 4, 1, 2, 3, 4]
let found1 = arr.findIndex((item,index) => item > 1)
console.log(found1);
//結果: 1 //也就是第一個滿足條件2對應的索引值
let found2 = arr.findIndex((item,index) => item > 11)
console.log(found2);
//結果: -1
- 19. arr.every((item,index)=>{})--如果數組中的每個元素都滿足測試函數,則傳回
,否則傳回true
false。
let arr = [1, 2, 3, 4, 1, 2, 3, 4]
let found1 = arr.every((item,index) => item > 0)
console.log(found1);
//結果: true //每一項都滿足條件
let found2 = arr.every((item,index) => item > 2)
console.log(found2);
//結果: false //有一個不滿足就為false
- 20. arr.some((item,index)=>{})--如果數組中至少有一個元素滿足測試函數,則傳回 true,否則傳回 false
let arr = [1, 2, 3, 4]
let found1 = arr.some((item,index) => item > 3)
console.log(found1)
//結果: true //有一個滿足就為true
let found2 = arr.some((item,index) => item > 4)
console.log(found2)
//結果: false //都不滿足為false
- 21. arr.reduce((a,b)=>{},c)--從左到右為每個數組元素執行一次回調函數,并把上次回調函數的傳回值放在一個暫存器中傳給下次回調函數,并傳回最後一次回調函數的傳回值; arr.reduceRight(從右向左執行)
let arr = [1, 2, 3, 4]
//第一次: a=1,b=2
//第二次: a=3,b=3
//第三次: a=6,b=4
let arr1 = arr.reduce((a,b)=>{
return a+b
})
console.log(arr1)
//結果: 10
//第一次: a=10,b=1
//第二次: a=11,b=2
//第三次: a=13,b=3
//第四次: a=16,b=4
let arr1 = arr.reduce((a,b)=>{
return a+b
},10)
console.log(arr1)
//結果: 20
- arr.join( ) -- 在數組中加入一個特殊符号,原數組不變; 傳回值:字元串
let arr = [1, 5, 3, 4, 8, 5, 6]
console.log(arr.join(','));
//結果: 1,5,3,4,8,5,6
console.log(arr);
//結果: [1, 5, 3, 4,8, 5, 6]