在javascript中展平多维数组
Flattening multidimensional arrays in javascript
本文关键字:数组 javascript 更新时间:2023-09-26
我需要展平多维数组,但我的代码只展平一个数组,然后停止。怎么了?如何让它只传输没有数组的元素。
function flatten(arr) {
// I'm a steamroller, baby
arr.reduce(function (flat, toFlatten) {
return flat.concat(Array.isArray(toFlatten) ? flatten(toFlatten) : toFlatten);
},[]);
}
flatten([[['a']], [['b']]]);
assert.deepEqual(flatten([[['a']], [['b']]]), ['a', 'b'], 'should flatten nested arrays');
should flatten nested arrays: expected [ [ 'a' ], [ 'b' ] ] to deeply equal [ 'a', 'b' ]
您做得很好——只是缺少一个return
语句。
function flatten(arr) {
// I'm a steamroller, baby
return arr.reduce(function (flat, toFlatten) {
return flat.concat(Array.isArray(toFlatten) ? flatten(toFlatten) : toFlatten);
}, []);
}
console.log(flatten([[['a']], [['b']]]));
let myarray = [
1000,
[1, 2, 3, 4],
[5, 6, 7],
[999, [10, 20, [100, 200, 300, 400], 40], [50, 60, 70]],
];
function f(array) {
let result = [];
function flatten(array) {
for (let i = 0; i < array.length; i++) {
if (!Array.isArray(array[i])) {
result.push(array[i]);
} else {
flatten(array[i]);
}
}
return result;
}
return flatten(array);
}
相关文章:
- 如何遍历包含对象的数组-javascript
- 保存数组javascript
- 查找数组javascript中包含的元素类型
- 算法:从数组(javascript/angular)中按当前日期获取上一个和下一个事件
- 从多维数组javascript中提取特定值
- 如何在数组javascript中选择伪随机值
- 拆分字符串数组(JavaScript)后未定义
- 从数组JavaScript中删除并返回最后n个项的最快方法
- 使用条件for循环更新数组-Javascript
- 从数组javascript创建新对象
- 用数组(javascript)中的值替换regex捕获
- 从数组[Javascript]的总长度中减去一个干净的数字
- 将一个字符串数组解析为一个新的数组javascript
- 如何将对象转换为对象数组javascript
- 赢得't循环数组javascript
- 从不同的数组 JavaScript 中获取值
- 多维数组 JAVASCRIPT 出了点问题
- 可以't分配给一个对象数组javascript
- 比较数组JavaScript中的对象
- 如何完成缺少(连续)元素的数组|Javascript