ES6中的數組常用方法

一、ES5中數組常用方法:

1、循環遍歷。

let arr = [1,2,3]
for(let i=0;i<arr.length;i++){
    console.log(i) // 1 2 3 
}

2、forEach:沒有返回值,不能使用break和continue。只是針對每個元素調用Func。

let arr = [1,2,3]
// elem 數組裏面的每一項   
// index 數組索引
// array 數組
arr.forEach(function(elem,index,array){
    console.log(elem,index) // 1 0   2 1   3 2
})

3、map:返回新數組,每個元素爲調用Func後的結果。

let arr = [1,2,3]
let result = arr.map(function(val){
    val += 1
    return val
})
console.log(arr,result) // [1,2,3] [2,3,4]

4、filter:返回符合Func條件的元素數組。

let arr = [1,2,3]
let result = arr.filter(function(val){
    return val == 2
})
console.log(arr,result) // [1,2,3]  [2]

5、some:返回布爾值,判斷是否有元素符合Func條件(有一個滿足條件就返回true)。

let arr = [1,2,3]
let result = arr.some(function(val){
    return val == 2
})
console.log(arr,result) // [1,2,3]  true

6、every:返回布爾值,判斷每個元素符合Func條件(全部滿足條件才返回true)。

let arr = [1,2,3]
let result = arr.every(function(val){
    return val == 2
})
console.log(arr,result) // [1,2,3]  false

7、reduce:接收函數作爲一個累加器

7-1:累加器

let arr = [1,2,3]
// prev爲前一個對象
// cur爲當前對象
// index爲當前序列
// arr爲當前數組
let sum = arr.reduce(function(prev,cur,index,arr){
    return prev + cur
},0)
console.log(sum) // 6

7-2、獲取數組中最大值。

let arr = [1,2,3]
let max = arr.reduce(function(prev,cur){
    Math.max(prev,cur)
})
console.log(max) // 3

7-3、數組去重

let arr = [1,2,3,3]
let res = arr.reduce(function(prev,cur){
    prev.indexOf(cur) == -1 && prev.push(cur)
    return prev
},[])
console.log(res) // [1,2,3]

8、for...in:遍歷數組的時候會將原型下面函數遍歷

Array.prototype.foo = function(){
    console.log("foo")
}
let arr = [1,2,3]
for(let index in arr){
    console.log(index) // 遍歷數組同樣會遍歷原型下面的函數foo
}

二、ES6中數組常用方法

1、find:返回第一個通過測試的元素

let arr = [1,2,3,4]
let res = arr.find(function(val){
     return val > 2
})
console.log(res) // 3

2、findIndex:返回第一個通過測試的元素對應索引

let arr = [1,2,3,4]
let res = arr.find(function(val){
     return val > 2
})
console.log(res) // 2

3、for...of

let arr = [1,2,3,4]
for(let item of arr){
    console.log(item) // 1 2 3 4
}

3-1、values:僅遍歷值

let arr = ["a","b","c","d"]
for(let item of arr.values()){
    console.log(item) // "a" "b" "c" "d"
}

3-2、keys:僅遍歷index

let arr = ["a","b","c","d"]
for(let item of arr.keys()){
    console.log(item) // 0 1 2 3 
}

3-3、entries:遍歷index和值

let arr = ["a","b","c","d"]
for(let item of arr.entries){
    console.log(item) // [0, "a"] [1, "b"] [2, "c"] [3, "d"]
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章