数组Array常用方法

我们两清 提交于 2019-11-26 17:00:48

数组

基本语法

 //实例化对象
    //length  属性  代表数组的长度
    var arr=new Array({});
    console.log(arr);//[{…}]
    
    var  a=new Array([1,2,3,4]);
    console.log(a);//[Array(4)]
//数组的简化声明
    var  a=[1,2,3,4];
    var b=[4,5,6];
//数组的赋值
    arr[0]=1;
    arr[1]="a";
    arr[2]=null;
    arr[3]={};
    arr[4]=true;
    arr[5]=undefined;
    arr[6]=function(){};
    console.log(arr[0]);//1


方法

方法 解释
concat() 合并数组 返回新的数组
filter() 过滤 返回过滤出的值
forEach() 数组的遍历 没有返回值 能影响到原数组
join() 将数组转化为字符串
map() 相当遍历数组 映射一个新的数组
slice() 返回值是截取的数组 对原数组无影响
splice() 截断数组 对原数组有影响
push() 数组的后边追加 返回值是数组的长度
unshift() 数组的前边追加 返回值是数组的长度
shift() 数组的前删
pop() 数组的后删
reverse() 翻转数组
sort() 排序,默认从小到大
some() 检测数组里面的值 返回值是true false
reduce() 迭加器

具体说明

    var  a=[1,2,3,4];
    var b=[4,5,6];
    
//concat  也可以合并数组  返回新的数组
    console.log(a.concat(b));//[1, 2, 3, 4, 4, 5, 6]

//filter  过滤  返回过滤出的值
    console.log(a.filter(function (val, index, arr) {
        /*if (val % 2 == 0) {
            return val;
        }*/
        return val;
    }));//[1, 2, 3, 4]

     console.log(a.filter(function (val, index, arr) {
        if (val % 2 == 0) {
            return val;
        }
    }));//[2, 4]

//数组的遍历  没有返回值   能影响到原数组
    //原本数组索引
    console.log(a.indexOf(1));//0
    console.log(a.indexOf(2));//1
    console.log(a.indexOf(3));//2
    console.log(a.indexOf(4));//3
    //遍历
    a.forEach(function (val, index, arr) {
        arr[index]+=val;
    })  //无返回值,但数组中的值变为[2,4,6,8]
    console.log(a.indexOf(2));//0

//join  将数组转化为字符串
    console.log(a.join(""));//2468
    console.log(a.join("*"));//2*4*6*8

//map  相当遍历数组  映射一个新的数组
    var b=a.map(function (val, index, arr) {
            return val*val;
    })
    console.log(b,a);//(4) [4, 16, 36, 64] (4) [2, 4, 6, 8]
    
//slice  返回值是截取的数组   对原数组无影响
    console.log(a.slice(1, 3));
    console.log(a);//[4,6]

//splice 截断数组   对原数组有影响
    console.log(a.splice(0, 3));//[2, 4, 6]
    console.log(a);//[8]

//追加   push  数组的后边追加   返回值是数组的长度
    a.push(9);
    console.log(a);//[8,9]
//往前追加
    a.unshift(7);
    console.log(a);//[7,8,9]
    console.log(a.unshift(7));//4  返回数组的长度[7,7,8,9]

//数组里面的删除  数组的前删
    a.shift();
    console.log(a)//[7,8,9]
//数组的后删除
    a.pop();
    console.log(a);//[7,8]
    
//翻转数组
    a.reverse();
    console.log(a);//[8,7]

//排序方法
    var b=[2,1,4,3,6,5];
    //sort  默认小-大排序
    console.log(b.sort());//[1,2,3,4,5,6]
    b.sort(function (n1,n2){
        return n1-n2;
    });//n1比n2大,就交换位置
    console.log(b);//[1,2,3,4,5,6]
    //大-小
    b.sort(function (n1,n2){
        return n2-n1;
    });
    console.log(b);//颠倒
//some  方法  检测数组里面的值  返回值是true  false
    console.log(b.some(function (val, index, arr) {
        return val == 11;
    }));//false
//reduce  迭加器  可加可减可乘除   参数(旧值,新值,最终和)
    var c=[4,5,6];
    console.log(c.reduce(function (total, currentvalue, currentindex) {
        console.log(total,currentvalue);
        return totle *= currentvalue;//4,5   20,6  乘,除法默认值为1,加减法默认值为0
    }));//120

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!