前端面试题
2018-12-02 本文已影响0人
xiaomai熬夜秃头少女
1.计算1-10000中出现的0 的次数
这里考察了es6中数组新增的几个方法
let s = new Array(1000)
.fill('')
.map((_, i) => i + 1)
.filter(item => /0/.test(item))
.reduce((sum, item)=>{return sum+String(item).match(/0/g).length},0)
2.延伸出的一个题,声明一个长度为100的数组,里面的每一个值都是空的
let s = new Array(1000).fill('')
3.请以优雅的方式将[1,2,[3,[4,[5]],6],7,8]转换为[1,2,3,4,5,6,7,8]
普通写法
let arr = [1,2,[3,[4,[5]],6],7,8]
function changeArr1 (arr){
return arr.map(item => Array.isArray(item) ? changeArr1(item) : item)
}
const result = changeArr1( [1,2,[3,[4,[5]],6],7,8])
优雅写法::
const result4 = (arr + ' ').split(',')
const result5 = arr.join(',').split(',')