簡體   English   中英

使用next()迭代兩個帶有迭代器對象的JavaScript數組

[英]Iterate through two JavaScript arrays with an iterator object using next()

我想將兩個排序的JavaScript數組與其中的自定義對象進行比較,並計算差異。 我想使用迭代器對象來使用next()來完成它。 (就像Java中的迭代器一樣。)在MDN中它說:

在JavaScript中,迭代器是一個對象,它定義一個序列,並在終止時可能返回一個返回值。 更具體地說,迭代器是通過使用next()方法實現Iterator協議的任何對象,該方法返回具有兩個屬性的對象:value,序列中的下一個值; 並且已完成,如果已經消耗了序列中的最后一個值,則為true。 如果值與done一起存在,則它是迭代器的返回值。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Iterators_and_Generators

有沒有方便的方法從JavaScript中的數組獲取迭代器對象?

就像所有可迭代對象一樣,要獲取迭代器,請訪問其Symbol.iterator屬性以獲取生成器,並調用它來獲取迭代器:

 const arr = ['a', 'b', 'c']; const iter = arr[Symbol.iterator](); console.log(iter.next()); console.log(iter.next()); console.log(iter.next()); console.log(iter.next()); 

 const arr1 = ['a', 'b', 'c']; const arr2 = ['a', 'b', 'c']; const iter1 = arr1[Symbol.iterator](); const iter2 = arr2[Symbol.iterator](); console.log(iter1.next()); console.log(iter2.next()); console.log(iter1.next()); console.log(iter2.next()); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM