javascript可以简化代码的(Array)方法

2017-07-22  本文已影响0人  秘果_li
find()

find() 方法返回传入一个测试条件(函数)符合条件的数组第一个元素。
find() 方法为数组中的每个元素都调用一次函数执行:

let arr=[12,15,45,20,7];
function check(number) {
    return number >= 19;
}
console.log(arr.find(check));  //45
map()

map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
map() 方法按照原始数组元素顺序依次处理元素。

const numbers = [4, 9, 16];
function myFunction() {
    return( numbers.map(Math.sqrt));   //[2,3,4]
}
filter()

filter()方法返回一个新数组,该数组元素是所有回调函数执行时返回值为 true 的原数组元素,起到过滤的作用。

filter()只对数组中的非空元素执行指定的函数,没有赋值或者已经删除的元素将被忽略,同时,新创建的数组也不会包含这些元素。

function isBigEnough(element, index, array) {
    return (element >= 10);
}
let filtered = [12, 5, 7, 10, 46].filter(isBigEnough); // [12,10,46 ]
some()

对数组中的每个元素都执行一次指定的函数(callback),直到此函数返回 true,如果发现这个元素,some 将返回 true,如果回调函数对每个元素执行后都返回 false ,some 将返回 false

some()可以用来查找数组中是否含有符合callback函数条件的元素。

function isBigEnough(element, index, array) {
    return (element >= 10);
}
let passed = [2, 5, 8, 1, 4].some(isBigEnough);
// passed is false
passed = [1, 5, 8, 10, 4].some(isBigEnough);
// passed is true
every()

顾名思义,对数组中的每个元素都执行一次指定的函数(callback),数组中的每个元素都符合callback函数条件则返回true,否则返回false

function isBigEnough(element, index, array) {
    return (element >= 10);
}
let passed = [2, 15, 8, 11, 4].some(isBigEnough);
// passed is false
passed = [11, 25, 38, 10, 64].some(isBigEnough);
// passed is true
forEach()

打印数组元素

let arr=[5,6,7];
function printElt(element, index, array) {
    document.writeln("[" + index + "] is " + element + "<br />");
}
arr.forEach(printElt);
//[0] is 5
//[1] is 6
//[2] is 7
indexOf()

查找数组中的元素,如果存在则返回该元素的下标,否则返回 -1

let array=[1,3,2,5,2]
let index = array.indexOf(2);  // 2
let insex = array.indexOf(6);  //-1
lastIndexOf()

逆序查找数组中的元素,从最后一个元素开始如果存在则返回该元素的下标,否则返回 -1

let array=[1,2,3,5,2]
let index = array.lastIndexOf(2);  // 4
index = array.lastIndexOf(2, 3);   // 2
上一篇下一篇

猜你喜欢

热点阅读