zoukankan      html  css  js  c++  java
  • 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
    

      

  • 相关阅读:
    [SCOI2008]奖励关
    [HNOI2015]落忆枫音
    [HAOI2012]高速公路
    [HNOI2012]集合选数
    A. 【UNR #2】积劳成疾
    整体二分
    [HNOI2015]亚瑟王
    [SDOI2010]星际竞速
    [SDOI2010]地精部落
    [SDOI2014]数数
  • 原文地址:https://www.cnblogs.com/shenq/p/5138534.html
Copyright © 2011-2022 走看看