js 二维数组取一维
时间: 2023-07-07 17:10:15 浏览: 102
将二维数组的某一行或某一列取出来,得到的就是一维数组。
例如,如果有一个二维数组`arr`,想要取出第二行,可以这样做:
```javascript
var arr = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
var row2 = arr[1]; // 取出第二行,即 [4, 5, 6]
```
如果想要取出第二列,可以这样做:
```javascript
var column2 = [];
for (var i = 0; i < arr.length; i++) {
column2.push(arr[i][1]); // 取出每一行的第二个元素,即第二列
}
```
这样得到的`column2`就是一维数组,内容为`[2, 5, 8]`。
相关问题
js二维数组转一维数组
在JavaScript中,可以使用不同方法将二维数组转换为一维数组。下面是几种常见的方法:
方法一:使用递归
可以编写一个递归函数来处理多维数组,通过判断元素是否为数组,如果是则递归调用函数,否则将元素添加到结果数组中。以下是使用递归实现的示例代码:
```javascript
var arr1 = [[1,2],3,[[<em>1</em><em>2</em><em>3</em>
#### 引用[.reference_title]
- *1* *3* [JS 二维数组变一维数组的方法](https://blog.csdn.net/sumimg/article/details/125514992)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item]
- *2* [JavaScript 二维数组转一维数组](https://blog.csdn.net/m0_46846526/article/details/119085567)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item]
[ .reference_list ]
js二维数组转为一维数组
可以使用`Array.prototype.flat()`方法将二维数组转为一维数组,例如:
```javascript
const arr2d = [[1, 2], [3, 4], [5, 6]];
const arr1d = arr2d.flat();
console.log(arr1d); // [1, 2, 3, 4, 5, 6]
```
如果需要将多维数组转为一维数组,可以使用`Array.prototype.flat()`方法的可选参数`depth`指定展开的深度,例如:
```javascript
const arr2d = [[1, [2, 3]], [4, [5, 6]]];
const arr1d = arr2d.flat(2);
console.log(arr1d); // [1, 2, 3, 4, 5, 6]
```
此外,也可以使用递归的方式将多维数组转为一维数组,例如:
```javascript
function flatten(arr) {
return arr.reduce((result, item) => {
return result.concat(Array.isArray(item) ? flatten(item) : item);
}, []);
}
const arr2d = [[1, [2, 3]], [4, [5, 6]]];
const arr1d = flatten(arr2d);
console.log(arr1d); // [1, 2, 3, 4, 5, 6]
```
阅读全文