2019 阿里巴巴 前端 笔试题
online repl
https://repl.it/languages/javascript
Array
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array
- flat nested array
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/flat
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/flatMap
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]
join, return String
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join
concat, return Array
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat
let arr = [1, [[2, [21, 22]], 3, 4], 5];
// repl bug
// arr.flat(3);
const expandArr = (arr) => {
let result = [];
arr.map(item => {
if(!Array.isArray(item)) {
result.push(item);
} else {
let tempArr = expandArr(item);
// result = result.join(tempArr);
result = result.concat(tempArr);
}
});
return result;
};
expandArr(arr);
Array flat(Infinity)
FEIQA
Front End Interviews Question & Answers
https://github.com/xgqfrms/FEIQA