zoukankan      html  css  js  c++  java
  • javascript数组浅谈3

    前两节说了数组最基本的创建,队列方法,排序和一些操作方法,这节说说迭代和归并方法。

        every()方法 & some()方法

    这两个方法会对数组中的每一项运行给定函数,然后返回一个布尔值,理解起来可以当成everyone和someone的区别来理解,看个例子就好了:

    var  arr=[1,2,3,4,5];
    var everyResult=arr.every(function(item,index,arr){
    
          return (item>2);     
    })        //false
    var someResult=arr.some(function(item,index,arr){
     
           return (item>2);     
    })        //true

    两个方法都执行一个函数,函数的第一个参数表示迭代的每个数组元素,第二个参数表示下标,第三个参数表示该数组。

        filter()方法

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

    该方法对数组中每一项执行给定函数,返回该函数会返回true的项所组成的数组。

        map()方法 & forEach()方法

    map()返回每次函数调用的结果组成的数组,forEach()则没有返回值。

    1 var arr=[1,2,3,4,5]
    2 var mapResult=arr.map(function(item,index,arr){
    3        return item*2
    4 })    //[2,4,6,8,10]
    5 var forResult=arr.forEach(function(item,index,arr){
    6        //可执行一些操作
    7 })    //undefined

    forEach()本质上与使用for循环迭代数组一样。

        reduce()方法 & reduceRight()方法

    1 var arr=[1,2,3];
    2 arr.reduce(function(x,y,index,arr){
    3 
    4       return x+y
    5 },0);    //6

    这两个方法都有两个参数,第一个是一个要执行的回调函数,第二个表示要作为归并基础的初始值(可选)。

        indexOf()方法 & lastIndexOf()

    1 var arr=[1,2,3,4,5];
    2 arr.indexOf(1,-1);    //-1
    3 arr.lastIndexOf(1,-1)    //0

    接收两个参数,第一个表示要查找的元素,第二个表示开始位置,如果有则返回该元素在该数组中的位置下标,没有则返回-1

        数组大概就总结这么多,同时数组也是对象,以后会在对象的学习总结中再来探讨。

  • 相关阅读:
    ExtJs005继承
    ExtJs004define定义类
    ExtJS笔记
    解决vscode-pandoc插件生成pdf中文显示问题
    UDP学习笔记(.NET)
    WPF类库不能添加资源词典(xaml)的解决办法
    解决win10下获取操作系统版本为6.2.900(win8)的问题
    [转] Unit Test 访问Internal类型和方法
    VS2017使用小技巧(持续更新。。。)
    [转]Github遇到Permanently added the RSA host key for IP address '192.30.252.128' to the list of known host
  • 原文地址:https://www.cnblogs.com/wangxiaosan/p/5505486.html
Copyright © 2011-2022 走看看