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]
è¯æ³ åæ°
depth
å¯é
æå®è¦æååµå¥æ°ç»çç»ææ·±åº¦ï¼é»è®¤å¼ä¸º 1ã
ä¸ä¸ªæ°çæ°ç»ï¼å ¶ä¸å 嫿¼æ¥åçåæ°ç»å ç´ ã
æè¿°flat()
æ¹æ³å±äºå¤å¶æ¹æ³ãå®ä¸ä¼æ¹å this
æ°ç»ï¼èæ¯è¿åä¸ä¸ªæµ
æ·è´ï¼è¯¥æµ
æ·è´å
å«äºåå§æ°ç»ä¸ç¸åçå
ç´ ã
妿å¾
å±å¼çæ°ç»æ¯ç¨ççï¼flat()
æ¹æ³ä¼å¿½ç¥å
¶ä¸ç空槽ãä¾å¦ï¼å¦æ depth
æ¯ 1ï¼é£ä¹æ ¹æ°ç»å第ä¸å±åµå¥æ°ç»ä¸ç空槽é½ä¼è¢«å¿½ç¥ï¼ä½å¨æ´æ·±çåµå¥æ°ç»ä¸ç空槽åä¼ä¸è¿äºæ°ç»ä¸èµ·ä¿çã
flat()
æ¹æ³æ¯éç¨çãå®åªéè¦ this
å¼å
·æ length
屿§åæ´æ°é®å±æ§å³å¯ã使¯ï¼å¦æè¦å±å¼å
ç´ ï¼åå®ä»¬å¿
é¡»æ¯æ°ç»ã
const arr1 = [1, 2, [3, 4]];
arr1.flat();
// [1, 2, 3, 4]
const arr2 = [1, 2, [3, 4, [5, 6]]];
arr2.flat();
// [1, 2, 3, 4, [5, 6]]
const arr3 = [1, 2, [3, 4, [5, 6]]];
arr3.flat(2);
// [1, 2, 3, 4, 5, 6]
const arr4 = [1, 2, [3, 4, [5, 6, [7, 8, [9, 10]]]]];
arr4.flat(Infinity);
// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
å¨ç¨çæ°ç»ä¸ä½¿ç¨ flat()
flat()
æ¹æ³å 餿°ç»ä¸ç空槽ï¼
const arr5 = [1, 2, , 4, 5];
console.log(arr5.flat()); // [1, 2, 4, 5]
const array = [1, , 3, ["a", , "c"]];
console.log(array.flat()); // [ 1, 3, "a", "c" ]
const array2 = [1, , 3, ["a", , ["d", , "e"]]];
console.log(array2.flat()); // [ 1, 3, "a", ["d", empty, "e"] ]
console.log(array2.flat(2)); // [ 1, 3, "a", "d", "e"]
å¨éæ°ç»å¯¹è±¡ä¸è°ç¨ flat()
flat()
æ¹æ³è¯»å this
ç length
屿§ï¼ç¶åè®¿é®æ¯ä¸ªæ´æ°ç´¢å¼ã妿å
ç´ ä¸æ¯æ°ç»ï¼åç´æ¥å°å
¶éå å°ç»æä¸ã妿å
ç´ æ¯æ°ç»ï¼åæ ¹æ® depth
åæ°è¿è¡å±å¼æä½ã
const arrayLike = {
length: 3,
0: [1, 2],
// åµå¥çç±»æ°ç»å¯¹è±¡ä¸ä¼è¢«å±å¹³
1: { length: 2, 0: 3, 1: 4 },
2: 5,
};
console.log(Array.prototype.flat.call(arrayLike));
// [ 1, 2, { '0': 3, '1': 4, length: 2 }, 5 ]
è§è æµè§å¨å
¼å®¹æ§ åè§
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