数组迭代方法和类数值

  数组的迭代方法有every,some,forEach,fliter,map。

  每个方法的参数是一个函数,函数的第一个参数是数组项,第二个参数是数组项的索引,第三个参数是数组本身

  every方法对数组的每一项执行给定函数,如果每一项的执行结果都为true,则返回true;

1 //用every方法检测数组的每一项是否都是偶数,是则返回true,不是则返回false
2     function testEvery(){
3         var a=[1,2,5,0,3,9];
4        var result= a.every(function(item){
5            return item%2==0;
6         });
7         console.log(result);
8     }
9     testEvery();//结果false

  some方法对数组每一项执行给定函数,如果有至少一项满足条件,则返回true,否则返回false

1 //用some方法检测数组中书否有偶数项,有则返回true,无则返回false
2     function testSome(){
3         var a=[1,2,5,0,3,9];
4         var result= a.some(function(item){
5             return item%2==0;
6         });
7         console.log(result);
8     }
9     testSome();//结果为true

  forEach方法对数组每一项执行函数,没有返回值,和for循环一样的效果

 1  //用forEach方法把数组中大于3的数变成3
 2     var a=[1,2,5,0,3,9];
 3     function testForEach(){
 4         a.forEach(function(item,index,arr){
 5             if(item>3){
 6                 arr[index]=3;
 7             }
 8         })
 9     }
10     testForEach();
11     console.log(a);//结果[1,2,3,0,3,3]

  filter方法对数组的每一项执行函数,返回结果为true的项组成的数组

1 //获得数组中的值为偶数的项
2     function testFilter(){
3         var a=[1,2,5,0,3,9];
4         var result=a.filter(function(item){
5             return item%2==0;
6         })
7         console.log(result);
8     }
9     testFilter();//结果[2,0]

  map方法对数组的每一项执行函数,返回结果

//数组项加倍
    function testMap(){
        var a=[1,2,5,0,3,9];
        var result=a.map(function(item){
            return item*2;
        })
        console.log(result);
    }
    testMap();//结果[2,4,10,0,6,18]

对类数组直接运用数组的迭代方法会报错

//对类数组,比如arguments childNodes
    function likeArray(){
        var b=arguments.map(function(item){
            return item>0;
        })     console.log(b);
    }
    likeArray(5,-2,3,8,-9);//报错

对类数组运用Array.prototype.方法.call(类数组,参数)进行转换后可以使用数组方法

1 //转换后
2     function testLikeArray(){
3         var b=Array.prototype.filter.call(arguments,function(item){
4             return item>0;
5         })
6         return b;
7     }
8     var result=testLikeArray(1,3,-10,-6,-8,22);
9     console.log(result);//结果[1,3,22]

数组迭代方法和类数值,布布扣,bubuko.com

时间: 2024-12-18 15:50:16

数组迭代方法和类数值的相关文章

JS 数组迭代方法

js中数组迭代方法有五种 some() , every(), filter(), forEach(),map(),传入这些方法的函数会接收三个参数(数组项的值,该项在数组中的位置,数组对象本身) var items = [9,67,34,25,56]; //如果items中的所有项都大于9返回true否则返回false 全部满足条件才行 var everyResult = items.every(function(item,index,array){ return (item>9); }); a

数组迭代方法

常用的数组迭代方法,很多人第一想到的就是for循环,比如需要迭代出下面数组peoples年龄(age)大于30的人名(name). 1 var peoples = [ { 2 name: 'Agraj', 3 gender:'M', 4 age: 29, 5 address: { 6 city: 'Delhi', pincode: '110064' 7 } 8 }, { 9 name: 'Mark', 10 gender:'M', 11 age: 35, 12 address: { 13 cit

S1 :数组迭代方法

ECMAScript 5 还新增了两个归并数组的方法:reduce()和reduceRight().这两个方法都会迭代数组的所有项,然后构建一个最终返回的值.其中,reduce()方法从数组的第一项开始,逐个遍历到最后.而reduceRight()则从数组的最后一项开始,向前遍历到第一项.这两个方法都接收两个参数:一个在每一项上调用的函数和(可选的)作为归并基础的初始值.传给reduce()和reduceRight()的函数接收4 个参数:前一个值.当前值.项的索引和数组对象.这个函数返回的任何

数组迭代方法—every、filter、forEach、map、some

ECMAScript5为数组定了5个迭代方法.每个方法都接收两个参数:要在每一项上运行的函数和(可选的)运行该函数的作用域对象——影响this的值.传入这些方法中的函数会接收三个参数:数组项的值.该项在数组中的位置和数组对象本身.根据使用的方法不同,这个函数执行后的返回值可能会也可能不会影响访问的返回值.以下是这5个迭代方法的作用. every():对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true. var numbers = [1,2,3,4,5,6,7,8];

js基础之数组迭代方法

Array.forEach() forEach() 方法为每个数组元素调用一次函数(回调函数). var txt = ""; var numbers = [45, 4, 9, 16, 25]; numbers.forEach(myFunction); function myFunction(value) { txt = txt + value + "<br>"; } Array.map() map() 方法通过对每个数组元素执行函数来创建新数组. map

JavaScript中数组迭代方法(jquery)

var arr = [1,2,4,5,6]; //1.forEach(让数组中的每一项做一件事)arr.forEach(function(item,index){    console.log(item);    //1,2,4,5,6}); //2.map(让数组通过某种计算产生一个新数组)var newArr = arr.map(function(item,index){    return item*2;});console.log(newArr);//[2,4,8,10,12] //3.

js iterate数组迭代方法

var array = new Array("a","b","c"); array.every(function(item, index, array){ return (item == "a");}); every()     ——回调函数对每一项都返回true,则返回true some() ——回调函数对任一项返回true,则返回true filter()  ——回调函数对某些项返回true,则返回该项 forEach()

JavaScript之数组五大迭代方法总结

ES5定义了五个迭代方法,每个方法都接收两个参数:要在每一项上运行的函数和运行该函数的作用域对象(可选的),作用域对象将影响this的值.传入这些方法中的函数会接收三个参数:数组的项的值.该项在数组中的位置和数组对象本身. every() 和 some() every()是对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true. some()是对数组中的每一项运行给定函数,如果该函数对任一项返回true,则返回true. every()和some()很相似,他们都用于查询

Numpy数组对象的操作-索引机制、切片和迭代方法

前几篇博文我写了数组创建和数据运算,现在我们就来看一下数组对象的操作方法.使用索引和切片的方法选择元素,还有如何数组的迭代方法. 一.索引机制 1.一维数组 In [1]: a = np.arange(10,16) In [2]: a Out[2]: array([10, 11, 12, 13, 14, 15]) #使用正数作为索引 In [3]: a[3] Out[3]: 13 #还可以使用负数作为索引 In [4]: a[-4] Out[4]: 12 #方括号中传入多数索引值,可同时选择多个