js中的多维数组

js中没有提供直接声明多维数组的方法,但是我们可以使用虚拟数组的方法实现,即数组的元素也是数组。

二维数组的声明:

  1. 通过对象字面量方法声明数组:
var arr = [[1,2,3],[4,5,6],[7,8,9]];

2.通过构造函数创建数组:

var arr = new Array(4);
for (var i=0;i<arr.length;i++){
     arr[i] = new Array(3)
 }

这两种创建二维数组的方法都是首先创建一个一维数组,然后将一维数组的每个元素重新定义成数组的形式。

二维数组的遍历:

var arr = [[1,2,3],[4,5,6],[7,8,9]];
for (var i=0;i<arr.length;i++){
    for(var j=0;j<arr[i].length;j++){
        console.log(arr[i][j]);
    }
}

//使用forEach()

var arr = [[1,2,3],[4,5,6],[7,8,9]];
arr.forEach(function(ele,index,array){
    ele.forEach(function(ele,index,array){
        console.log(ele);
    })
})

二维数组转一维数组:

1.使用reduce和concat组合方法:

var arr = [[1,2,3],[4,5,6],[7,8,9]];
var newArr = arr.reduce(function(pre,curr,index,array){
    return pre.concat(curr);
})    //[1, 2, 3, 4, 5, 6, 7, 8, 9]

2.遍历数组,将每个值放到一个空数组中:

var arr = [[1,2,3],[4,5,6],[7,8,9]];
var newArr = [];
for (var i = 0;i<arr.length;i++){
    for(var j=0;j<arr[i].length;j++){
        newArr.push(arr[i][j]);
    }
}   //[1, 2, 3, 4, 5, 6, 7, 8, 9]

3.先转化为字符串,再将字符串转化为数组

var arr = [[1,2,3,4],[5,6],[7,8,9]];
var newArr1 = arr.join(",").split(",");
 var newArr2 = arr.toString().split(",");    //["1", "2", "3", "4", "5", "6", "7", "8", "9"]

最后如果需要的话可以将字符串再转化为Number类型的字符串。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值