伪数组转化为真数组是一个常见的操作,可以通过以下几种方法来实现。
方法一:使用Array.from()方法
Array.from()方法可以将类数组对象或可迭代对象转化为真数组。所谓类数组对象,指的是具有length属性和按照索引访问元素的对象,比如arguments对象、DOM NodeList对象等。
var pseudoArray = {
0: 'apple',
1: 'banana',
2: 'orange',
length: 3
};
var realArray = Array.from(pseudoArray);
console.log(realArray); // ['apple', 'banana', 'orange']
方法二:使用Array.prototype.slice.call()方法
Array.prototype.slice.call()方法可以将一个类数组对象转化为真数组。该方法利用了Array.prototype.slice()方法的特性,通过调用该方法并传入类数组对象作为this对象,可以将其转化为真数组。
var pseudoArray = {
0: 'apple',
1: 'banana',
2: 'orange',
length: 3
};
var realArray = Array.prototype.slice.call(pseudoArray);
console.log(realArray); // ['apple', 'banana', 'orange']
方法三:使用扩展运算符(...)
扩展运算符(...)可以将一个可迭代对象展开,从而将其转化为真数组。
var pseudoArray = {
0: 'apple',
1: 'banana',
2: 'orange',
length: 3
};
var realArray = [...pseudoArray];
console.log(realArray); // ['apple', 'banana', 'orange']
需要注意的是,以上方法都是将类数组对象转化为真数组,而不是将伪数组(如arguments对象)转化为真数组。如果要将伪数组转化为真数组,可以使用方法一或方法二。
希望以上方法可以帮助你实现伪数组转化为真数组的操作。如果还有其他问题,请随时提问。
千锋教育拥有多年IT培训服务经验,开设Java培训、web前端培训、大数据培训,python培训、软件测试培训等课程,采用全程面授高品质、高体验教学模式,拥有国内一体化教学管理及学员服务,想获取更多IT技术干货请关注千锋教育IT培训机构官网。