×

学习JS数组的迭代应用

作者:cidy20172019.01.10来源:Web前端之家浏览:981评论:0

学习JS数组的迭代应用。大家知道,在ECMAscript中定义了5种数组迭代的方法,分别是:every、filter、forEach、map、some。下面列举下用法:

every():对数组的每一项运行给定函数,如果该函数对每一项都返回true,则返回true,否则返回false

some():对数组的每一项运行给定函数,如果该函数对任一项返回true,则返回true

filter():对数组的每一项运行给定函数,返回该函数会返回true的项组成的数组

map():对数组的每一项运行给定函数,返回每次函数调用的结果组成的数组

forEach():对数组的每一项运行给定函数,这个方法没有返回值

区别: 

以上五种迭代方法都是对数组进行一定的操作,已达到我们想要的结果;

every()和some()方法对数组进行迭代,最后返回的值是一个布尔值,换句话说这两种方法是对数组进行判断时使用的,我们并 不能直接使用返回的值。需要结其他方法是返回值发挥作用

filter()和map()方法最后返回的是符合我们要求的数组,可以直接进行使用。

forEach()方法不会返回任何值,只会执行某些操作。与for循环类似、

注意:

这几种迭代方法都不会改变原数组,只会返回相应的值或数组。

使用方法:

var number = [1,2,3,4,5,6,7,8,9];//先定义一个数组,方便掩饰
    var ereryRes = number.every(function (p1) {
        return (p1>2);
    })
 alert(ereryRes)   //false
    var someRes = number.some(function (p1) {
        return (p1>2);
    })
    alert(someRes)   //ture
    var filterRes = number.filter(function (p1) {
        return (p1>2);
    })
  alert(filterRes)   //3,4,5,6,7,8,9
    var mapRes = number.map(function (p1) {
        return p1*2
    })
    alert(mapRes)    //2,4,6,8,10,12,14,16,18
    var forEachRes = number.forEach(function (p1) {
        //执行某种操作
    })
  alert(forEachRes)  //不会返回值,只会执行操作,与for循环类似

如何根据问题选择选择迭代方法

上面已经提到,当我们需要对数组进行判断以实现某种方法,可以选用every()和some()方法。

当我们需要对数组筛选和对其进行更改而产生新的数组时,可以使用filter()和map()方法。

当我们需要遍历数组可以使用forEach()方法。

温馨提示:本文作者系 ,经Web前端之家编辑修改或补充,转载请注明出处和本文链接:
https://www.jiangweishan.com/article/bianli234234234.html

网友评论文明上网理性发言 已有0人参与

发表评论:

最新留言

  • 爱jQuery

    求交换www.aijquery.cn...

  • 访客

    文章不错,非常喜欢...

  • cnwebe

    新媒体运营交换友情链接https://www.cnwebe.com换吗...

  • admin

    请加上链接...

  • admin

    已加上...

  • 物联网应用

    交换个链接如何?物联网应用www.ziwuiot.com...

  • zzzmh

    你好自己写的个人技术博客https://zzzmh.cn麻烦友链申请...

  • 菜鸟日记

    有点东西。来学习一下~...

首页|JavaScript|HTML|HTML4|HTML5|CSS3|开发工具|性能优化|移动开发|前端教程|性能优化|开发工具|酷站欣赏|UI设计|前端教程

Copyright © 2019 Web前端之家(www.jiangweishan.com) 版权所有 All Rights Reserved.
粤ICP备12067512号-1

Copyright Your WebSite.Some Rights Reserved.

Powered By Z-BlogPHP 1.5.2 Zero