js前端面试题(每日两道4)

1."ScriptOJ".spacify() // => "S c r i p t O J"

请你给字符串都添加上原型方法 spacify,可以让一个字符串的每个字母都多出一个空格的间隔:

"ScriptOJ".spacify()// => "S c r i p t O J"

答案:

String.prototype.spacify=function(){

      return this.split('').join(' ')

}

2.数组拍平

编写一个 JavaScript generator 函数,接受一个仅包含数字的 多维数组 ,返回一个迭代器,可以遍历得到它拍平以后的结果。例如:

const numbers = flatten2([1, [[2],3,4],5])

numbers.next().value// => 1

numbers.next().value// => 2

numbers.next().value// => 3

numbers.next().value// => 4

numbers.next().value// => 5

答案:

function *flatten2 (arr) {

    arr = arr.length ? arr.toString().split(',').map(x => Number.parseInt(x)) : []

    for(let o of arr) yield o

}

你可能感兴趣的:(js前端面试题(每日两道4))