zoukankan      html  css  js  c++  java
  • 数组的方法

    1、forEach

    arr.forEach(function(item,index,array){......})

    2、map

    arr.map(function(item,index,array){.....})
    遍历数组---修改数组---返回数组

    3、reduce  迭代(累加常用)   reduceRight

    arr.reduce(function(pre,next){.....})
    next 表示 数值中第一个数之后的下一个数    
    pre 表示初始值是第一个数,但遍历一次之后,遍历的返回结果就是pre的值
    res表示最后一吃操作的返回结果
    reduce()方法从数组的第一项开始,逐个遍历到最后。
    reduceRight()则从数组的最后一项开始,向前遍历到第一项。

    4、every

    let isok = arr.every(item => {
         if ( item%2 === 0 ) return true;
         return false
     })
     
    every允许回调函数中返回true和false,如果全部都返回true的话,every方法的返回值就是true
     

    5、filter

    let brr = arr.filter(item => {
         if ( item%2 === 0 ) return true;
         return false
     })
     
    filter 返回值是一个新数组,回调函数中返回true,这个回调函数对应的item就会放入到新数组中,回调函数返回false,这个item就会被过滤掉
    返回新数组,且不会改变原数组
     

    6、some

    let has = arr.some(item => {
         if ( item%2 === 0 ) return true;
         return false;
     })
     
    some 回调函数时每一次执行的时候都可以选择返回true或者false
    some函数有返回值的,只要回调函数中有一次返回true,some的返回值就是true,否则就是false

    7、indexOf    lastIndexOf

    两个方法都接收两个参数:要查找的项和(可选的)表示查找起点位置的索引。
      indexOf()方法从数组的开头(位置 0)开始向后查找,lastIndexOf()方法则从数组的末尾开始向前查找。
    两个方法都返回要查找的项在数组中的位置,或者在没找到的情况下返回-1。
    在比较第一个参数与数组中的每一项时,会使用全等操作符;也就是说,要求查找的项必须严格相等(就像使用===一样)。
    var numbers = [1,2,3,4,5,4,3,2,1];
    alert(numbers.indexOf(4)); //3
    alert(numbers.lastIndexOf(4)); //5
    alert(numbers.indexOf(4, 4)); //5
    alert(numbers.lastIndexOf(4, 4)); //3
    var person = { name: "Nicholas" };
    var people = [{ name: "Nicholas" }];
    var morePeople = [person];
    alert(people.indexOf(person)); //-1
    alert(morePeople.indexOf(person)); //0

    8、数组遍历(遍历---循环)

    for 或 for ... in
    for .. in 遍历语法格式 :
    for( var 变量 in 对象 ){
    。。。。
    }
    for...in 特点 :
    没有循环条件
    自动取出下标 从0开始 到arr.length-1 自动结束
    下标类型 string
    for...in 只能遍历对象
    json对象 { } 的遍历 只能通过for..in 遍历

    判断一个对象是否为一个数组
    instanceof
    对象 instanceof 构造函数 返回布尔值 如果对象属于该构造函数返回true,否则返回false

    9、数组的操作方法

    尾部操作:
    push() 向数组尾部添加一个或多个数 长度会随之改变,括号中有参数
    pop() 删除数组尾部一个元素 没有参数

    头部操作 :
    unshift() 向数组头部添加一个或多个数 长度会随之改变,括号中有参数

    shift() 删除数组第一项元素并返回该元素 没有参数

    splice()
    splice( start ) 表示删除从start位置开始的数据 ,删除到数组结尾
    splice( start , length ) 表示删除从start位置开始的数据,到指定位置结束
    splice( start,length , num1,num2 ) 第三个参数个数不固定
    当length值为1 表示替换
    当length值为0 表示添加

    reverse()反转数组项的顺序

    sort() :数组排序方法 改变原数组 默认是升序排序 默认是按 字符 排序
    function fnSort(){
    var arr = ["a","f","afs","df","w","u"];
    var arr = [100,34,78,234,789,1000];
    // arr.sort(); 没有参数按 字符 来排序
    arr.sort( function(x,y){
    //return x-y>0;
    return x-y<0;
    } )
    alert( arr );
    }
    fnSort();

    如果按数值排序 :
    arr.sort( function( x,y ){
    return x-y>0; 升序排序 return x-y < 0 降序排序
    } )

    reverse() 翻转数组 (改变原数组)

    上面6个方法都会改变原数组

    下面这些方法 不会改变原数组 明白这些方法的返回值

    concat() 数组的合并 arr.concat( brr )

    join() 将数组转成 字符串

     
  • 相关阅读:
    新建maven 父子模块项目
    for循环删除list中多个元素出现的误区
    mysql不支持emoji表情的问题的解决方法
    innodb的读写参数优化
    redis list命令
    redis之常用Set和ZSet命令
    java中list里面存放map,根据map中的某一个字段进行排序
    spring-redis 存储数据
    批量mvn 打包 bat文件命令
    yum 安装docker后 无法启动
  • 原文地址:https://www.cnblogs.com/mortalway/p/12010851.html
Copyright © 2011-2022 走看看