zoukankan      html  css  js  c++  java
  • es6 数组扩展

    es5中数组常见遍历方法

    let arr=[1,2,3];

    for循环
    for(let i=0;i<arr.length;i++){
        console.log(arr[i]);
    }
     
    结果: 1,2,3

    // forEach 循环(不可使用  break continue  所以不可中途跳出循环)
    arr.forEach(function(elem,index,array){
        console.log(elem,index,array);
    });
    结果:

     
    // map循环
    arr.map(function(value){
        console.log(value);
    })
     
    map可以处理数组每个元素  结果返回一个新数组  不改变原数组
     
    let result = arr.map(function (value) {
        console.log(value);
        value += 1;
        return value
    })
    console.log(arr,result)
    结果:   1,2,3

     
    过滤数组  return 过滤的数组不会改变数组内容   只会改变数组长度
    arr.filter(function(value){
        console.log(value);
    })

    let newsArr=arr.filter(function(value){
        return value==2
    })
    console.log(arr,newsArr);

    some函数 只要有一个元素符合条件   就返回true     否则返回false

    let result=arr.some(function (value){

      console.log(value);

    return value==2

    })

     console.log(arr,result);  

    结果: 1,2,3     true


     
    every函数 数组中每个元素是否符合条件   就返回true     否则返回false
     
     

    let result=arr.every(function (value){

      console.log(value);

    return value==2

    })

     console.log(arr,result);  

    结果: 1,2,3     false

     
     
     //reduce
    接受一个函数  和一个参数   参数为初始值
    函数接收四个参数     第一个  prev      上一次调用函数的返回值 
                                      第二个   cur       当前正在处理的数组元素 
                                      第三个   index    当前处理的元素索引   
                                      第四个   array    是原数组   
     
    //累加求和

    let arr=[1,2,3];
    let sum = arr.reduce(function(prev,cur,index,array){
    return prev+cur
    },0);
    console.log(sum);

     
     
    //求数组最大值

    let arr=[1,2,10,3];
    let max = arr.reduce(function(prev,cur){
    return Math.max(prev,cur)
    },0);
    console.log(max);    //10

    数组去重
    let arr=[1,2,10,3,3,2,10,11,8,7,2];

    let newarr=arr.reduce(function(prev,cur){
    prev.indexOf(cur)== -1 && prev.push(cur)
    return prev

    },[])
    console.log(newarr);//

    [1, 2, 10, 3, 11, 8, 7]



     

     find()  方法返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined

    var arr=["1","hello","hedan","3232"];


    let a=arr.find((value, index, arr) =>{
    return value=="hedan"
    })
    console.log(a)

    结果:  "hedan"

    indIndex()函数也是查找目标元素,找到就返回元素的位置,找不到就返回-1。
    let a=arr.findIndex((value, index, arr) =>{
    return value=="hedan"
    })
    console.log(a)   结果//2

    // for(let item of arr){
    // console.log(item)
    // }

    values()遍历数组每一项

    // for(let item of arr.values()){
    // console.log(item)
    // }

      .keys()遍历数组索引
    // for(let item of arr.keys()){
    // console.log(item)
    // }

    entries()  遍历数组索引和每一项

    // for(let [index,item] of arr.entries()){
    // console.log(index,item)
    // }

     
  • 相关阅读:
    activemq学习
    shell变量
    ext3文件系统目录限制问题
    linux性能优化cpu 磁盘IO MEM
    vs2010下编译osip2和eXosip2的4.0.0版的静态库及搭建开发环境
    samba的rpm包,只有tar.gz文件安装
    随记
    mount/umount系统调用
    不定参数的传递VA_LIST的用法
    samba服务器源码安装(非rpm)
  • 原文地址:https://www.cnblogs.com/ddqyc/p/13521665.html
Copyright © 2011-2022 走看看