Baseline Widely available
坦驿§è³ª: 鿝ä¸å實é©ä¸çåè½
æ¤åè½å¨æäºç覽å¨å°å¨éç¼ä¸ï¼è«åèå
¼å®¹è¡¨æ ¼ä»¥å¾å°ä¸åç覽å¨ç¨çåè¼ã
flat()
彿¸ä»¥éè¿´æ¹å¼å°ç¹å®æ·±åº¦çåé£åéæ°ä¸²æ¥æçºä¸æ°çé£å
const arr1 = [0, 1, 2, [3, 4]];
console.log(arr1.flat());
// expected output: Array [0, 1, 2, 3, 4]
const arr2 = [0, 1, [2, [3, [4, 5]]]];
console.log(arr2.flat());
// expected output: Array [0, 1, 2, Array [3, Array [4, 5]]]
console.log(arr2.flat(2));
// expected output: Array [0, 1, 2, 3, Array [4, 5]]
console.log(arr2.flat(Infinity));
// expected output: Array [0, 1, 2, 3, 4, 5]
èªæ³
var newArray = arr.flat([depth]);
忏
depth
鏿æ§
æå®å·¢çé£åå±éçæ·±åº¦ãé è¨çº 1ã
彿¸å°æåå³ä¸åç±åå é£åçåé£å串æ¥èæçæ°é£åã
ç¯ä¾ å±éå·¢çé£åvar arr1 = [1, 2, [3, 4]];
arr1.flat();
// [1, 2, 3, 4]
var arr2 = [1, 2, [3, 4, [5, 6]]];
arr2.flat();
// [1, 2, 3, 4, [5, 6]]
var arr3 = [1, 2, [3, 4, [5, 6]]];
arr3.flat(2);
// [1, 2, 3, 4, 5, 6]
ç¶éé空å
ç´ æ
flat()
彿¸æèªåæ¸
é¤é£åä¸ç©ºçå
ç´
var arr4 = [1, 2, , 4, 5];
arr4.flat();
// [1, 2, 4, 5]
æ¿ä»£æ¹æ¡ reduce
è concat
var arr1 = [1, 2, [3, 4]];
arr1.flat();
//å±éå®å±¤é£å
arr1.reduce((acc, val) => acc.concat(val), []); // [1, 2, 3, 4]
//欲å±éæ´æ·±å±¤çå·¢ççµæ§è«ä½¿ç¨reduceèconcatçéè¿´
function flattenDeep(arr1) {
return arr1.reduce(
(acc, val) =>
Array.isArray(val) ? acc.concat(flattenDeep(val)) : acc.concat(val),
[],
);
}
flattenDeep(arr1); // [1, 2, 3, 1, 2, 3, 4, 2, 3, 4]
//使ç¨stackä¾å¯¦ä½ééè¿´çå±é
var arr1 = [1, 2, 3, [1, 2, 3, 4, [2, 3, 4]]];
function flatten(input) {
const stack = [...input];
const res = [];
while (stack.length) {
// pop value from stack
const next = stack.pop();
if (Array.isArray(next)) {
// push back array items, won't modify the original input
stack.push(...next);
} else {
res.push(next);
}
}
//reverse to restore input order
return res.reverse();
}
flatten(arr1); // [1, 2, 3, 1, 2, 3, 4, 2, 3, 4]
// éå½çæ¬çååµå¥
function flatten(array) {
var flattend = [];
(function flat(array) {
array.forEach(function (el) {
if (Array.isArray(el)) flat(el);
else flattend.push(el);
});
})(array);
return flattend;
}
è¦ç¯ ç覽å¨ç¸å®¹æ§ åè¦
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4