Javascript筆記之Array

內容來自廖雪峯大神官網:https://www.liaoxuefeng.com/wiki/1022910821149312/1278025786193984


對於數組,除了map()reducefilter()sort()這些方法可以傳入一個函數外,Array對象還提供了很多非常實用的高階函數。

every

every()方法可以判斷數組的所有元素是否滿足測試條件。

例如,給定一個包含若干字符串的數組,判斷所有字符串是否滿足指定的測試條件:

'use strict';

var arr = ['Apple', 'pear', 'orange'];
console.log(arr.every(function (s) {
    return s.length > 0;
})); // true, 因爲每個元素都滿足s.length>0

console.log(arr.every(function (s) {
    return s.toLowerCase() === s;
})); // false, 因爲不是每個元素都全部是小寫

 

find

find()方法用於查找符合條件的第一個元素,如果找到了,返回這個元素,否則,返回undefined

'use strict';

var arr = ['Apple', 'pear', 'orange'];
console.log(arr.find(function (s) {
    return s.toLowerCase() === s;
})); // 'pear', 因爲pear全部是小寫

console.log(arr.find(function (s) {
    return s.toUpperCase() === s;
})); // undefined, 因爲沒有全部是大寫的元素

 

 

findIndex

findIndex()find()類似,也是查找符合條件的第一個元素,不同之處在於findIndex()會返回這個元素的索引,如果沒有找到,返回-1

'use strict';

var arr = ['Apple', 'pear', 'orange'];
console.log(arr.findIndex(function (s) {
    return s.toLowerCase() === s;
})); // 1, 因爲'pear'的索引是1

console.log(arr.findIndex(function (s) {
    return s.toUpperCase() === s;
})); // -1

 

forEach

forEach()map()類似,它也把每個元素依次作用於傳入的函數,但不會返回新的數組。forEach()常用於遍歷數組,因此,傳入的函數不需要返回值:

'use strict';

var arr = ['Apple', 'pear', 'orange'];
arr.forEach(console.log); // 依次打印每個元素

 

 

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