js 二位数组转一维数组
时间: 2023-11-08 12:04:43 浏览: 48
可以使用数组的 `flat()` 方法将二维数组转换为一维数组。这个方法会递归地将所有嵌套的数组都展开为一维数组。以下是一个示例代码:
```javascript
const arr2D = [[1, 2], [3, 4], [5, 6]];
const arr1D = arr2D.flat();
console.log(arr1D); // [1, 2, 3, 4, 5, 6]
```
在上面的例子中,`arr2D` 是一个二维数组,通过调用 `flat()` 方法生成了 `arr1D`,即一维数组。
如果你需要支持更老版本的 JavaScript,你可以使用 `reduce()` 方法来展开数组:
```javascript
const arr2D = [[1, 2], [3, 4], [5, 6]];
const arr1D = arr2D.reduce((acc, curr) => acc.concat(curr), []);
console.log(arr1D); // [1, 2, 3, 4, 5, 6]
```
这里使用 `reduce()` 方法将每个嵌套数组连接到累加器 `acc` 中,并初始值设为一个空数组 `[]`。最终得到的 `arr1D` 即为一维数组。
相关问题
js一位数组转二维数组
可以使用 JavaScript 的 `slice()` 方法和循环来实现将一维数组转换为二维数组。下面是一个示例代码:
```javascript
function convertTo2DArray(arr, size) {
const result = [];
for (let i = 0; i < arr.length; i += size) {
result.push(arr.slice(i, i + size));
}
return result;
}
const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
const size = 3;
const result = convertTo2DArray(arr, size);
console.log(result);
```
在上面的代码中,`convertTo2DArray()` 函数接受两个参数:`arr` 是要转换的一维数组,`size` 是每个二维数组的大小。函数内部通过循环和 `slice()` 方法将一维数组切割成指定大小的块,并将这些块存储到一个新数组 `result` 中。最后返回 `result` 数组,即为转换后的二维数组。输出结果为:
```
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
```
这样就将一维数组 `[1, 2, 3, 4, 5, 6, 7, 8, 9]` 转换为了二维数组 `[[1, 2, 3], [4, 5, 6], [7, 8, 9]]`。
查找二位数组 js
在 JavaScript 中,可以通过以下方式创建一个二维数组:
```javascript
var arr = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
```
要查找二维数组中的某个值,可以使用双重循环来遍历整个数组:
```javascript
function findInArray(arr, value) {
for (var i = 0; i < arr.length; i++) {
for (var j = 0; j < arr[i].length; j++) {
if (arr[i][j] === value) {
return true;
}
}
}
return false;
}
```
这个函数接受两个参数,第一个是要搜索的二维数组,第二个是要查找的值。它会遍历整个数组,如果找到了目标值就返回 true,否则返回 false。