类数组

来源:2-12 扩展运算符与rest参数

Brannua

2020-08-09

  • 谢老师好~
  • 扩展运算符可以将数组或类数组打散, 我尝试写一个类数组,试图将其打散,但是失败了,怎样写一个对象,让这个对象在控制台的展示形式从视觉上是个数组,且这个对象可以被打散呢?
	let foo = { 0: 'a', 1: 'b', 2: 'c', length: 3 }
	console.log(...foo); // 失败了
写回答

1回答

谢成

2020-08-09

定义了遍历器接口的对象才能使用扩展运算符转化为数组。

类数组没有部署 Iterator 接口所以扩展运算符会报错。

可以这样做:

const foo = { 0: 'a', 1: 'b', 2: 'c', length: 3 }

const arr = Array.from(foo)

console.log(...arr)


0
1
Brannua
嗯嗯明白,那老师怎样写一个对象,让这个对象在控制台的展示形式从视觉上看是个数组呢,给类数组添加什么属性能让它看起来是数组吗?
2020-08-17
共1条回复

JavaScript ES(6-11)全版本语法 前端都需要的基础课

前端无门槛学习,从ES6到ES11,一套课程掌握JS最新语法

1328 学习 · 296 问题

查看课程