zoukankan      html  css  js  c++  java
  • JS数组迭代方法

    先说 every()和 some(),它们都用于查询数组中的项是否满足某个条件。

    every()

    var numbers = [1,2,3,4,5,4,3,2,1];
     var everyResult = numbers.every(function(item, index, array){
     return (item > 2);
     });

     alert(everyResult); //false

    // 传入的函数必须对每一项都返回 true 相当于 number里面的参数都>2 才返回true

    some():

    var numbers = [1,2,3,4,5,4,3,2,1];

    var someResult = numbers.some(function(item, index, array){
     return (item > 2);
     });

     alert(someResult); //true
    // 传入的函数有一项>2都返回 true 相当于 number里面的参数有一个参数>2 返回true


    filter():

    var numbers = [1,2,3,4,5,4,3,2,1];
    var filterResult = numbers.filter(function(item, index, array){
    return (item > 2);
    });
    alert(filterResult); //[3,4,5,4,3]

    //它利用指定的函数确定是否在返回的数组中包含某一项。例如,要 返回一个所有数值都大于 2 的数组  相当于过滤 filter就是过滤的意思吧!


    map():

    var numbers = [1,2,3,4,5,4,3,2,1];
    var mapResult = numbers.map(function(item, index, array){
    return item * 2;
    });
    alert(mapResult); //[2,4,6,8,10,8,6,4,2]

    map()也返回一个数组,而这个数组的每一项都是在原始数组中的对应项上运行传入函数的结果。 例如,可以给数组中的每一项乘以 2,然后返回这些乘积组成的数组


    forEach():

    var numbers = [1,2,3,4,5,4,3,2,1];
    numbers.forEach(function(item, index, array){
    //执行某些操作
    });

    它只是对数组中的每一项运行传入的函数。这个方法没有返回值, 本质上与使用 for 循环迭代数组一样。


  • 相关阅读:
    AsyncTask的用法
    关于 android setAnimationStyle 的问题
    android有关bluetooth常用api简介
    Android调用系统Activity选取图像部分区域
    Android 关于ListView几个特别的属性
    Android应用界面动画切换(主要Tabhost中跳转出来的动画效果解决[转]
    ✿Android 3.1 久违的 USB、mtp、rtp
    读《C++沉思录》心得:拷贝构造函数
    Cloud Foundy入门
    HDFS读文件详解
  • 原文地址:https://www.cnblogs.com/yuobey/p/10327178.html
Copyright © 2011-2022 走看看