海纳百川

数组的相关知识(面试)

2018-06-28  本文已影响0人  凛冬已至_123

伪数组变成数组

第一种

var a= {0:00,1:11,length:2}
var a=Array.prototype.slice.call(a,0)
a.push(333)
console.log(a)//[0, 11, 333]

第二种ES6-Array.from

var a= {0:00,1:11,length:2}
var b= Array.from(a)
b.push(333)
console.log(b)

实现长度为5的有下标的数组

console.log(Array.apply(null,{length:5}))
console.log(Array.from({length:5}))//[undefined, undefined, undefined, undefined, undefined]

生成n个b的数组

//ES6
function x(n,b) {
  var array= Array.from({length:n})
  return array.map(v=>b)
}
console.log(x(3,4))
//[4, 4, 4]
function x(n,b) {
  return Array.from({length:n}).fill(b)
}
console.log(x(3,4))
//[4,4,4]
//ES5
function x(n,b) {
  return new Array(n+1).join(b).split('').map(v=>parseInt(v))
}
console.log(x(3,4))
上一篇 下一篇

猜你喜欢

热点阅读