錯誤之處,歡迎指正,持續(xù)更新中。
1. 方法
1. reverse
讓數(shù)組逆序排序,會改變原數(shù)組。
const arr = [1, 2, 3, 4, 5];
console.log(arr); //[ 1, 2, 3, 4, 5 ]
const reverseArr = arr.reverse();
console.log(arr); //[ 5, 4, 3, 2, 1 ]
console.log(reverseArr); //[ 5, 4, 3, 2, 1 ]
2. toString
將一個數(shù)組轉(zhuǎn)換成字符串,不會改變原數(shù)組。
const arr = [1, 2, 3, 4, 5];
console.log(arr); //[ 1, 2, 3, 4, 5 ]
const string = arr.toString();
console.log(arr); //[ 1, 2, 3, 4, 5 ]
console.log(string); //1,2,3,4,5
3. slice
截取數(shù)組,不會改變原數(shù)組。
const arr = ["a", "b", 1, 2, 3, 4, 5];
console.log(arr); //["a", "b", 1, 2, 3, 4, 5]
const newArr = arr.slice(2, 7);
console.log(arr); //["a", "b", 1, 2, 3, 4, 5]
console.log(newArr); //[ 1, 2, 3, 4, 5 ]
關(guān)于slice方法的參數(shù)(以上述為例):
arr.slice(2,7)就是截取數(shù)組arr的arr[2]到arr[6]。
如果只填寫一個參數(shù)arr.slice(2),就是截取數(shù)組arr的arr[2]到arr[length-1]。
4. push和pop
push方法可以用來在數(shù)組末尾添加一個或者多個元素,返回值為數(shù)組長度。
pop方法可以用來刪除數(shù)組的最后一個元素,返回值為被刪除的元素。
var a =['a','b','c','d'];
console.log(a.push('e')); //5
console.log(a); //["a", "b", "c", "d", "e"]
console.log(a.pop()); //e
console.log(a); //["a", "b", "c", "d"]
5. join
將數(shù)組轉(zhuǎn)換成字符串,并以指定字符相連(默認為,)。
const arr = [1, 2, 3, 4, 5];
const newString = arr.join('-');
console.log(arr); //[1,2,3,4,5]
console.log(newArr);//1-2-3-4-5
6. indexOf
用來判斷數(shù)組中是否包含目標值。
const arr = [1, 2, 3, 4, 5];
console.log(arr.indexOf(5)); //4
console.log(arr.indexOf(6)); //-1
如果數(shù)組中包含目標數(shù)值,返回的是目標數(shù)值在數(shù)組中的索引值;如果不包含返回-1。
7. map
const arr = [1,2,3,4,5];
const newArr = arr.map((item) => {
return item;
})
console.log(arr); //[1,2,3,4,5]
console.log(newArr); //[1,2,3,4,5]
console.log(arr === newArr); //控制臺輸出為false
不會改變原有數(shù)組,不光可以使用map來映射一個數(shù)組中的值,還可用來進行一些進階操作,例如:
const arr = [1,2,3,4,5];
const newArr = arr.map((item) => {
return item * 10;
})
console.log(arr); //[1,2,3,4,5]
console.log(newArr); //[10,20,30,40,50]
8. filter
不會改變原數(shù)組,一般用來過濾數(shù)組中的某些項。
const arr = [1,2,3,4,5];
const newArr = arr.filter((item) => {
return item > 2;
})
console.log(arr); //[1,2,3,4,5]
console.log(newArr); //[3,4,5]
9. includes(ES6)
用來判斷數(shù)組中是否包含目標值。
const arr = [1, 2, 3, 4, 5];
console.log(arr.includes(5)); //true
console.log(arr.includes(6)); //false
如果數(shù)組中包含目標數(shù)值返回true;如果不包含返回false。
10. find(ES6)
const arr = [1, 2, 3, 4, 5];
const found = arr.find(element => element > 2);
console.log(arr); //[1,2,3,4,5]
console.log(found); //3
find方法返回數(shù)組中滿足條件的第一個元素的值,例如上述的條件就是值大于2,所以返回了3;如果沒有滿足條件的項,返回undefined。
11. forEach
const arr = [1, 2, 3, 4, 5];
const newArr = [];
arr.forEach(element => {
newArr.push(element * 10)
});
console.log(arr); //[1,2,3,4,5]
console.log(newArr); //[10,20,30,40,50]
forEach方法對指定數(shù)組的每個元素執(zhí)行一次給定的函數(shù),例如上述就是把arr數(shù)組里面每個值乘10,然后push到newArr數(shù)組里。
12. fill(ES6)
將數(shù)組的每一項填充為給定的值。
const arr = new Array(100); //創(chuàng)建一個長度為100的數(shù)組
arr.fill('chris');
13. concat
用于合并兩個或多個數(shù)組,不會改變原數(shù)組。
const arr1 = [1,2,3,4,5];
const arr2 = ['a','c'];
const newArr = arr1.concat(arr2);
console.log(arr1); //[1,2,3,4,5]
console.log(arr2); //['a','c']
console.log(newArr);//[1,2,3,4,5,'a','c']
2. 屬性
1. length
返回數(shù)組的長度。
const arr = [1, 2, 3, 4, 5];
console.log(arr.length); //5