• js数组(二)


    一、位置方法

    indexOf()和laseIndexOf()

    indexOf是从数组的第0项开始向后查找,没有找到返回-1,要求使用===

    var numbers = [1,2,3,4,5,4,3,2,1];
            alert(numbers.indexOf(4));//3
    

      lastIndexOf是从数组的最后一项开始向前查找

    var numbers = [1,2,3,4,5,4,3,2,1];
        
            alert(numbers.lastIndexOf(4));//5
    

      二、数组的判断方法

    如果不支持ES5,一般IE低版本不支持,所以要用 Object.prototype.toString() 判断:

    var a = [0, 1, 2];
            alert(Object.prototype.toString.call(a) === '[object Array]'); // true
    
         
    

      如果支持就用Array.isArray();

    var a = [0, 1, 2];
            alert(Array.isArray(a)); // true在IE8以下无效
    

      三、迭代方法

    1、every()

    var numbers = [1,2,3,4,5];
            var evertResult = numbers.every(function (item, index, array) {
               return (item > 2);
            });
            alert(evertResult);//false;因为every()是如果函数每一项都返回true那么是true
    

      2、some()

    var numbers = [1,2,3,4,5];
            var someResult = numbers.some(function (item, index, array) {
             return (item > 2);
            });
            alert(someResult);//true;只要传入函数对数组有一项是true返回为true;
    

      3、filter()

    var numbers = [1,2,3,4,5];
             var filterResult = numbers.filter(function (item, index, array) {
             return (item > 2);
             });
             alert(filterResult);//3,4,5;指定的函数确定是否在返回的数组中包含的某一项;
    

      4、map()

    var numbers = [1,2,3,4,5];
            var mapResult = numbers.map(function (item, index, array) {
             return item * 2;
            });
            alert(mapResult);//2,4,6,8,10;指定的函数确定是否在返回的数组中包含的某一项;
    

      5、forEach()

    var numbers = [1,2,3,4,5];
            numbers.forEach(function (item, index, array) {
    
             alert(numbers);//1,2,3,4,5执行五次
             alert(item*numbers.length);//5,10,15,20,25(1*5,2*5,3*5,4*5,5*5)
            });
    

      四、缩小

    var values = [1,2,3,4,5];
             var sum = values.reduce(function(prev,cur,index,array) {
                 return prev + cur;
             });
             alert(sum);//15
    

      

  • 相关阅读:
    CocoaPods 中删除不需要的第三方
    真机测试是提示 的 iPhone is busy: Preparing debugger support for
    关于 Expression is not assignable 错误
    关于查询ios的app更新的历史版本记录
    ios开启双重认证之填坑式教学
    swift 有道 翻译文档(2 条件语句 循环语句)
    swift 有道 翻译文档(1 定义变量常量,数组字典)
    渐变UI
    cornerstone 使用
    cocoaPods安装
  • 原文地址:https://www.cnblogs.com/shenq/p/5138534.html
Copyright © 2020-2023  润新知