zoukankan      html  css  js  c++  java
  • javascript数组

    *红色为可选参数
     
    一.新建一个数组
    var arr=new Array();
    var arr=[1,2,3.4];
    delete arr[1];//返回[,2,3,4]
     
    二.数组的添加和删除
    delete():删除数组,数组长度不会变,会产生稀疏数组
    push():从数组后添加一位元素,数组长度增加一位
    pop():从数组后删除一位元素,数组长度会减少一位
     
    三.数组的遍历
    var a=[1,2,6,8,9]
     
    for(var i in a){}//i为index
     
    for(var i=0;i<a.length;i++){}
     
    四.数组方法
    1.join():将数组连成一个字符串
    var a=[2,3,5,6,9]
    a.join(',')//返回2,3,5,6,9
     
    2.reverse():数组翻转
    var a=[2,3,5,6,9];
    a.reverse();//返回[9,6,5,3,2]
     
    3.sort():排序,按字母顺序排序
    4.concat():合并数组只能合并一级数组,不能递归扁平化数组
    var a=[2,3,[5,6],[7,[8,9]] ]
    a.concat();//返回[2,3,5,6,7,[8,9]];
     
    5.slice(index,count):切片方法  不会改变原数组
    var a=[1,2,3,4,5]
    a.slice(3)//返回[4,5] 从索引3开始切直到末尾,原数组不受影响
    a.slice(0,2)//返回 [1,2]  从索引0开始切,切2个,原数组不受影响
     
    6.splice(index,count):切片删除方法,会改变原数组    
    var a=[1,2,3,4,5,6,7,8,9];
    a.splice(4)//返回[5,6,7,8,9]; a=[1,2,3,4]
    a.splice(0,2);//返回[1,2];a=[3,4];
     
    7.push():从后面添加元素,数组长度会增加
    8.pop():从后面删除元素,数组长度会减少
    9.unshift():从数组前面添加一个元素,数组长度会增加一位,每个元素的索引会向后挪一位.返回当前数组长度
    var a=[1];
    a.unshift(22);//返回 2      a=[22,1];
     
    10.shift():从数组前面删除一个元素,数组长度会减少一位,每个元素的索引会向前挪一位,返回当前删除的元素
    var a=[a,2,3,4];
    a.shift();//返回a,  a=[2,3,4];
     
    EMCA5 方法
    1.forEach()    
    var a=[1,2,3,4,5];
    a.forEach(function(v){ return v*2;  })//返回[2,4,6,8,10];
    a.forEach(function(v,i,a){a[i]=v*2  })//返回[2,4,6,8,10];
     
    2.reduce(): 化简函数
    3.reduceRight():
    var a=[2,3,4,5,6,7,8];
    a.reduce(function(x,y){return x+y},0);//求和 第一次时x=0,y是第一个元素,第二次x就是前一次计算累计的结果,y是当前元素,最后返回计算的结果
    a.reduce(function(x,y){return x*y},1);//求积 同上
    a.reduce(function(x,y){return x>y? x:y},0);//求最大值 同上
    var b=[{x:1,a:2},{y:1,z:2},{z:3,a:3}];
    b.reduce(union)//返回[x:1,a:2,y:1,z:2];
    b.reduceRight(union)//返回[a:3,z:3,y:1,x:1]
     
    4.indexOf(target,index);从左往右进行检索,存在返回目标元素索引,不存在返回-1
    target:目标元素
    index:从哪个索引开始
     
    5.lastIndexOf(target,index);从右往左进行检索,index可以为负数,为负数时表示,从后往前检索
    target:目标元素
    index:从哪个索引开始
     
    6.filter():过滤,返回一个新数组
    var a=[1,6,5,9,8,a,b,c]
    a.filter(function(x){ return !isNaN(x)  })//返回 [1,6,9,8]; 判断为true的元素才被保留
     
    7.map():遍历,可以返回一个新数组
    var a=[3,5,6,9,8];
    a.map(function(x){return x*x;})//返回[9,25,36,81,64];
     
    8.every():判定全部,默认为true,全部为true,返回true
    var a=[1,2,3,4,5,6,7,8,9];
    a.every(function(x){if(x%2!=0) return false;})// 只要有个返回false 全都为false
     
    9.some():判定存在,默认为false,只要存在有一个为true,返回true
    var a=[1,2,3,4,5,6,7,8] 
    a.some(function(x){ return x>6})//只有有一个大于6,则返回true
     
    10toString() 方法
    var a=[1,2,3,4,5,6] 
    a.toString();//返回1,2,3,4,5,6;
  • 相关阅读:
    14.3.1选择选项
    14.3 选择框表单
    14.2.4HTML5约束API验证
    input标签之外是否一定添加form标签
    14.2.3自动切换焦点
    php设计模式---抽象模式模式
    php设计模式---简单工厂模式
    git基本教程,每天更新
    第5章 卷积神经网络
    第3章 深度学习基础
  • 原文地址:https://www.cnblogs.com/CrazyShun/p/5417181.html
Copyright © 2011-2022 走看看