使用next方法创建一个迭代器,该方法在调用.next时返回数组的每个值

泰勒·莫拉莱斯(Tyler Morales)

我正在尝试实现一个迭代器函数,该函数基本上只是JS中的闭包。

我已经能够通过调用列出数组的每个值iteratorWithNext(),但是我对下一步如何实现函数感到困惑

以下是我想出的内容,但是TypeError: iteratorWithNext.next is not a function当我打电话时iteratorWithNext()

function nextIterator(arr) {
    let count = 0
    function next(){return count++}
    return next
}

const array3 = [1, 2, 3];
const iteratorWithNext = nextIterator(array3);

以下是所需的输出:

console.log(iteratorWithNext.next()); // -> should log 1
console.log(iteratorWithNext.next()); // -> should log 2
console.log(iteratorWithNext.next()) // -> should log 3
或Drori

使用next方法返回对象文字

function nextIterator(arr) {
  let count = 0

  function next() {
    return arr[count++]
  }
  
  // return an object literal with the next method
  return {
    next
  }
}

const array3 = [1, 2, 3];
const iteratorWithNext = nextIterator(array3);

console.log(iteratorWithNext.next()); // -> should log 1
console.log(iteratorWithNext.next()); // -> should log 2
console.log(iteratorWithNext.next()) // -> should log 3

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

调用方法时从数组返回一个值

创建一个rubocop cop,该方法在无障碍调用方法时触发

如果我从某个方法返回某个组件的jsx并在另一个组件的渲染器中调用该方法,那么是否在每个渲染器上都创建了一个新对象?

从另一个数组返回一个N个元素的新数组的简便方法,该数组填充了迭代值?香草JavaScript

给定一个整数数组arr,当且仅当该数组中每个值的出现次数唯一时,编写一个返回true的函数

当 next 方法应该返回两个生成器的值时,如何为类创建 next 方法?

在 JavaScript 中创建迭代器时,数组不会传递给 next() 方法

从AngularJs的控制器调用服务时,从$ get工厂方法返回一个值

创建一个保存方法输入的装饰器 - 返回“NoneType”对象不可调用

在C ++中,是否有可能在超类中有一个方法,当每个子类调用该方法时,该方法会向该子类返回一个shared_ptr?

当调用JPanel实例创建方法时,该面板与前一个重叠。我该如何阻止呢?

创建一个返回数组的方法

编写一个递归方法,该方法调用一个整数数组,并以相反的排序顺序返回该数组

接受一个 int 数组和一个值并返回该值在数组中的索引的方法

单元测试一个方法,该方法调用一个返回实体页面的方法

每次调用方法时创建一个新的Set

在迭代器上创建方法,该方法在Rust中返回迭代器

Python迭代器next方法

每次使用pthread调用方法时创建一个新线程

我有一种从String []中删除空值的方法,我该如何为该函数创建一个方法并稍后对其进行调用?爪哇

为什么从另一个类调用使用自动装配对象的方法时,该对象为null?

在 rxjs 中调用另一个私有方法的 next 方法

如何在不调用“ next_element”方法的情况下使用Nokogiri选择下一个元素?

方法内部具有一个整数,每次调用该方法时,该整数都会增加1

构造一个Ruby对象,该对象返回对其调用的方法的名称

当需要一个方法名称来调用String#[]时该怎么办?

遍历对象,其中Value是对象数组,并从对象数组的每个对象返回一个值

使用Promises时,每个then()应该返回一个值或抛出

动态绑定的“ next”方法的“ iter()返回非迭代器”