美文网首页
javascript可以简化代码的(Array)方法

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

作者: 秘果_li | 来源:发表于2017-07-22 17:18 被阅读0次
    find()

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

    • 当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数,即返回找到的第一个符合条件的数组元素。

    • 如果没有符合条件的元素返回 undefined

    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
    

    相关文章

      网友评论

          本文标题:javascript可以简化代码的(Array)方法

          本文链接:https://www.haomeiwen.com/subject/hlyukxtx.html