ES5 中引入的部分数组方法

2019-04-19  本文已影响0人  diviner_杨
ES5 中引入的部分数组方法
forEach, 数组遍历调用,遍历arr,参数三个 1某项, 2索引, 3整个数组
     var arr = [ 'hello', ' js', {  }, function () {} ];
     // 遍历 数组
     arr.forEach( function ( v, i, ary ) {
        console.log( i + '=====' + v );
        console.log( ary );
     });
map 映射 语法: 数组.map( fn ) 返回一个数组, 数组的每一个元素就是 map 函数中的 fn 的返回值
     var arr = [ 1, 2, 3, 4 ];
     // 数学中: x -> x * x
     var a = arr.map(function ( v, i ) {
        return v * v;
     });
     // a [1, 4, 9, 16]
filter 就是筛选, 函数执行结果是 false 就弃掉, true 就收着
//语法: 数组.filter( function ( v, i ) { return true/false })

    var arr = [ 1, 2, 3, 4, 5, 6 ];
    // 筛选奇数
    var a = arr.filter( function ( v ) { return v % 2 === 1; });
    // a [ 1, 3, 5 ]
some 判断数组中至少有一个数据复合要求 就返回 true, 否则返回 false
   var arr = [ '123', {}, function () {}, 123 ];
   // 判断数组中至少有一个数字
   var isTrue = arr.some( function ( v ) { return typeof v === 'number'; } );  // true;
every 必须满足所有元素都复合要求才会返回 true
    var arr = [ 1, 2, 3, 4, 5, '6' ];
    // 判断数组中每一个都是数字
    var isTrue = arr.every( function ( v ) { return typeof v === 'number'; } ); } ); // false;
indexOf 在数组中查找元素, 如果含有该元素, 返回元素的需要( 索引 ), 否则返回 -1
     var arr = [ 1, 2, 3, 4, 5 ];
     var res = arr.indexOf( 4 );    // 要找 4
     console.log( res );    // 3     找 4 在 索引为 3 找到

     var arr = [ 1, 2, 3, 4, 5, 4, 5, 6 ];
     var res = arr.indexOf( 4, 4 ); // 要找 4, 从索引 4开始找
     console.log( res );    // 找到了 索引为 5
上一篇 下一篇

猜你喜欢

热点阅读