java 可迭代对象,什么是可迭代对象(Iterable objects)?

  • Post author:
  • Post category:java


能够将可迭代对象理解为“宽泛意义上的数组”——就是说,不必定是数组(Array.isArray(iterable) 返回 false),但却可以被 for…of 循环遍历。java

概览

可迭代对象不必定是数组,数组必定是可迭代对象。

每一个可迭代对象必然包含一个 [Symbol.iterator]  方法属性

字符串也是可迭代对象

26a6b19a39fcf80f25347f35daf150e0.png

改造普通对象

咱们举一个例子,下面有一个对象:数组

let range = {

from: 1,

to: 5

};

// 咱们想用 for..of 遍历 range,获得从 1(from) 到 5(to) 的天然数

// for(let num of range) { consol.log(num) } // 遍历结果 1 -> 2 -> 3 -> 4 -> 5

复制代码

明眼人一看,就知道 range 不就是个普通对象嘛,跟可迭代对象有什么关系呢?还要用 for..of 遍历,遍历结果还要是 1 -> 2 -> 3 -> 4 -> 5,这不扯淡呢吗?说的对,如今确定是扯淡,那是由于咱们啥都没作呢,可不是扯淡吗?函数

为了能让 range 这个普通对象变为可迭代对象,咱们须要先来了解下