释放双眼,带上耳机,听听看~!
//需求: 把伪数组转成真数组.
//定义一个伪数组.
let fakeArr = {
0: '哈哈',
1: '嘻嘻',
2: '嘿嘿',
3: '呵呵',
length: 4
}
//1.以前的做法.
let arr1 = [];
for (let i = 0; i < fakeArr.length; i++) {
arr1.push(fakeArr[i]);
}
console.log(arr1);
//现在的做法:
//2. push()
let arr2 = [];
arr2.push.apply(arr2, fakeArr);
console.log(arr2);
//3. concat()
let arr3 = [];
let arrNew = arr3.concat.apply(arr3, fakeArr);
console.log(arrNew);
//4. slice()
//假如fakeArr可以调用数组的slice方法, 那就可以返回一个真数组,
//并且这个真数组里就拥有fakeArr的所有元素
//但是很遗憾fakeArr是伪数组,不能调用真数组的slice方法.
// let arr = fakeArr.slice(0); //报错了.
let arr4 = Array.prototype.slice.call(fakeArr, 0);
console.log(arr4);
//5. 如果学了es6 .
let arr5 = Array.from(fakeArr);
console.log(arr5);
内容投诉
[…] Js中伪数组转真数组的五种方法 […]