什么是类数组?Js中类数组如何转化数组?
时间: 2023-08-22 10:08:29 浏览: 107
类数组指的是具有数组 length 属性和索引的对象,但是它们不具备数组的所有方法和属性。比如,DOM元素列表就是类数组对象。
在 JavaScript 中,我们可以通过以下方式将类数组对象转换为真正的数组:
1. 使用 Array.from() 方法将可迭代对象或类数组对象转换为数组。
```javascript
const arrayLikeObj = { 0: 'foo', 1: 'bar', length: 2 };
const arr = Array.from(arrayLikeObj);
console.log(arr); // ['foo', 'bar']
```
2. 使用 Array.prototype.slice.call() 方法将类数组对象转换为数组。
```javascript
const arrayLikeObj = { 0: 'foo', 1: 'bar', length: 2 };
const arr = Array.prototype.slice.call(arrayLikeObj);
console.log(arr); // ['foo', 'bar']
```
3. 使用展开运算符(...)将类数组对象转换为数组。
```javascript
const arrayLikeObj = { 0: 'foo', 1: 'bar', length: 2 };
const arr = [...arrayLikeObj];
console.log(arr); // ['foo', 'bar']
```
需要注意的是,以上方法都只能将可迭代对象或类数组对象转换为真正的数组,如果对象不具备 length 属性和索引,则无法转换为数组。
阅读全文