222.png
// import "./tree";
var arr = [1, 2, [3, [4, [5]]]];
function flatten (arr) {
var result = [];
for (var i = 0, len = arr.length; i < len; i++) {
if (Array.isArray(arr[i])) {
Array.prototype.push.apply(result, flatten(arr[i]));
} else {
result.push(arr[i]);
}
}
return result;
}
console.log(flatten(arr));
function flatten1 (arr) {
var result = [];
var queue = []; // 队列,先进先出,广度优先遍历,简单用数组模拟
for (var i = 0, len = arr.length; i < len; i++) {
queue.unshift(arr[i]);
while (queue.length !== 0) {
let current = queue.pop();
if (Array.isArray(current)) {
for (let j = 0; j < current.length; j++) {
queue.unshift(current[j]);
}
} else {
result.push(current);
}
}
}
return result;
}
console.log(flatten1(arr));
function flatten2 (arr) {
var result = [];
var stack = []; // 栈,先进后出,后进先出,深度优先遍历,简单用数组模拟
for (var i = 0, len = arr.length; i < len; i++) {
stack.push(arr[i]);
while (stack.length !== 0) {
let current = stack.pop();
if (Array.isArray(current)) {
for (let j = 0; j < current.length; j++) {
stack.push(current[j]);
}
} else {
result.push(current);
}
}
}
return result;
}
console.log(flatten2(arr));
[樱花]
赏樱日本盛于唐,如被牡丹兼海棠。恐是赵昌所难画,春风才起雪吹香。
入春已三月,不见曜阳葩。有足限户阈,而能搴物华。
芳林仅只尺,幰车日来过。缟李感明雪,赪桃凝崇霞。
焱开通莺使,晖媚促䗬衙。要友具嘉游,岂乏玉鼻騧。
钩白出川曲,采绿向层阿。行乐固云得,将军犹枕戈。
五坊小儿骑骏马,翠蛾彩女斗花鹑。
御路泥深龙辇过,小队黄衣四十人。