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());
}`