9.19美的前端笔经 两小时后感谢信
- 数组扁平化,手写flat
思路:reduce+递归var Myflat = function(nums){ return nums.reduce((a,b)=>{ return [].concat(a,Array.isArray(b)?Myflat(b):b) }) }
- 数组无效值去除
输入:["567",null,"u44","0",1,"eleven","ten","99"] 输出:["567","0",1,"99"]
就是null u44这种转数字为NaN的直接去除
思路:。。。数组内置filter函数,再判断两个数字是否相等就行var newList = function(nums){ return nums.filter((e,i)=>{ return parseInt(e)==parseInt(e) }) }
- 生成数组,入参是一个整数,出参是一个数组
输入:5 输出:[0,3,8,15,24]
思路:考试时候直接懵了,没看出来这个数组是0+3+5+7+9 。。。题目也没解释一下啊。。。怪自己经验太少了