Javascript嵌套数组使用迭代器展平,并具有下一个和下一个实现 **尝试实现一个具有下两种方法的类,而HasNeXT则能够在C++和java中找到类似的实现,而不是JavaScript。

Javascript嵌套数组使用迭代器展平,并具有下一个和下一个实现 **尝试实现一个具有下两种方法的类,而HasNeXT则能够在C++和java中找到类似的实现,而不是JavaScript。,javascript,algorithm,iterator,Javascript,Algorithm,Iterator,这种方法首先展平阵列,然后在展平阵列上循环 类嵌套编辑器{ 建造师(名单){ this.list=[]; let flat=(arr,索引)=>{ if(index==arr.length)返回; 如果(Array.isArray(arr[index])平坦(arr[index],0); 否则这个.list.push(arr[index]); 平坦(arr,++指数); } 该指数=0; 平坦(列表,0); this.length=this.list.length; } hasNext(){

这种方法首先展平阵列,然后在展平阵列上循环

类嵌套编辑器{
建造师(名单){
this.list=[];
let flat=(arr,索引)=>{
if(index==arr.length)返回;
如果(Array.isArray(arr[index])平坦(arr[index],0);
否则这个.list.push(arr[index]);
平坦(arr,++指数);
}
该指数=0;
平坦(列表,0);
this.length=this.list.length;
}
hasNext(){
返回this.index}
您是否需要Javascript中的链接列表?
class NestedIterator {
  constructor() {}

hasNext() {
   //Todo
  }

  next() {
    //Todo
   }
}

var list;
var iterator;

/* Should print
 * 2
 * 4
 * 6
 */
list = [2, [4, [6]]];
iterator = new NestedIterator(list);
while (iterator.hasNext()) {
  console.log(iterator.next());
}`