xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!

2019 阿里巴巴 前端 笔试题

online repl

https://repl.it/languages/javascript

Array

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array

  1. 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


原文地址:https://www.cnblogs.com/xgqfrms/p/10954098.html