数组的相关知识(面试)
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))