js中没有提供直接声明多维数组的方法,但是我们可以使用虚拟数组的方法实现,即数组的元素也是数组。
二维数组的声明:
- 通过对象字面量方法声明数组:
var arr = [[1,2,3],[4,5,6],[7,8,9]];
2.通过构造函数创建数组:
var arr = new Array(4);
for (var i=0;i<;i++){
arr[i] = new Array(3)
}
这两种创建二维数组的方法都是首先创建一个一维数组,然后将一维数组的每个元素重新定义成数组的形式。
二维数组的遍历:
var arr = [[1,2,3],[4,5,6],[7,8,9]];
for (var i=0;i<;i++){
for(var j=0;j<arr[i].length;j++){
(arr[i][j]);
}
}
//使用forEach()
var arr = [[1,2,3],[4,5,6],[7,8,9]];
(function(ele,index,array){
(function(ele,index,array){
(ele);
})
})
二维数组转一维数组:
1.使用reduce和concat组合方法:
var arr = [[1,2,3],[4,5,6],[7,8,9]];
var newArr = (function(pre,curr,index,array){
return (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<;i++){
for(var j=0;j<arr[i].length;j++){
(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 = (",").split(",");
var newArr2 = ().split(","); //["1", "2", "3", "4", "5", "6", "7", "8", "9"]
最后如果需要的话可以将字符串再转化为Number类型的字符串。