zoukankan      html  css  js  c++  java
  • 常用数组使用大全

    2019-12-15

    这是一期分享常用数组使用的方法解析。

    关于常用数组的方法有如下:for,forEach,find,findIndex,indexOf,map,pop,push,shift,unshift,splice,slice,indludes,

    for

    let sum=0
    for(let i=0;i<10;i++>){
        sum+=i;
    }
    

    foreach包含2个参数item和index

    let list=[1,2,3,4];
    let sum=0;
    list.forEach((item,index)=>{
        sum+=item
    })
    

    find表示在数组中查找某个值,返回值是匹配上的那一条数据

    let list=[{name:'a',age:1},{name:'b',age:2},{name:'c',age:3}]
    let data=list.find((item,index)=>{
        return item.age==2
    })
    
    //返回的是{name:'b',age:2}这个对象
    

    findIndexfind类似,返回值是匹配上的那一条数据的index值

    let list=[{name:'a',age:1},{name:'b',age:2},{name:'c',age:3}]
    let index=list.findIndex((item,index)=>{
        return item.age==2
    })
    //返回的是{name:'b',age:2}这个对象所在的index,是1
    

    indexOffindOf类似,都是查找位置

    indexOf(item,start),start为初始位置,默认为0

    let list=['a','b','c','d']
    let index=list.indexOf('a');
    //返回的是所在的index,是0
    

    map,对某项进行操作,并返回对应的数组,不会更改原数组

    map((item,index,arr)=>{}),arr表示原数组

    let list=[{name:'a',age:1},{name:'b',age:2},{name:'c',age:3}]
    let array = list.map((item,index,arr)=>{
        return item.age*10
    })
    //理想状态是[{name:'a',age:10},{name:'b',age:20},{name:'c',age:30}]
    //实际是[10,20,30]
    

    pop删除数组的项,从数组的最后一项开始删除

    let list=[{name:'a',age:1},{name:'b',age:2},{name:'c',age:3}]
    let array = list.pop();
    //返回[{name:'a',age:1},{name:'b',age:2}]
    

    push新增数据的项,从数组最后一项开始增加

    push(item1,item2),可以在数组末尾增加多个item

    let list=[{name:'a',age:1},{name:'b',age:2},{name:'c',age:3}]
    let array = list.push({name:'d',age:4});
    //返回[{name:'a',age:1},{name:'b',age:2},{name:'c',age:3},{name:'d',age:4}]
    

    shift是把数组的第一项移除

    let list=[{name:'a',age:1},{name:'b',age:2},{name:'c',age:3}]
    let array = list.shift()
    //返回[{name:'b',age:2},{name:'c',age:3}]
    

    unshift是向数组的开头新增对象,可增加多个item

    let list=[{name:'a',age:1},{name:'b',age:2},{name:'c',age:3}]
    let array = list.unshift({name:'a0',age:0})
    //返回[{name:'a0',age:0},{name:'a',age:1},{name:'b',age:2},{name:'c',age:3}]
    

    splice功能强大,可增,可删,可编辑。但会改变原数组

    splice(index,howmany,item1,item2);index表示增加/删除的位置,howmany表示要删除的数量,为0表示不删除,item1,item2表示要新增的数据

    增:
    let arr=arr.splice(1,0,item1);
    //从数组的第2个位置开始增加新数据
    删:
    let arr=arr.splice(1,1);
    //从数组的第2个位置删除1个数据
    编辑:
    let arr=arr.splice(1,1,item1);
    //将数组中的第二个位置替换成item1,也可以理解为将第二个位置的数据删除,将后面的数据补充上
    

    slice从原数组中截取一段,不改变原数组

    slice(start,end);
    //从start开始,到end结束,含start,不含end

    let arr1=arr.slice(1,3);
    //将arr截取位置1,位置2的数据
    

    indludes表示一个数组是否包含某个值,返回true/false

    let arr=[1,2,3];
    let index=arr.includes(1);
    //true
    
  • 相关阅读:
    如何降低微服务测试成本?我的经验之谈
    Serverless 在 SaaS 领域的最佳实践
    技术干货 | “选图预览并上传”的场景如何解?全网最全方案汇总来了
    SRE技术保障平台-盯屏中心TAC: 混合云一站式告警运维平台
    DTCC 2020 | 阿里云王涛:阿里巴巴电商数据库上云实践
    中值滤波算法 C
    python logger.debug_python中的logger模块讲解
    唯一值
    接触jeecgBoot低代码开发
    php数字操作
  • 原文地址:https://www.cnblogs.com/zdping/p/12095261.html
Copyright © 2011-2022 走看看