Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中多维数组的迭代器_Javascript_Ecmascript 6 - Fatal编程技术网

javascript中多维数组的迭代器

javascript中多维数组的迭代器,javascript,ecmascript-6,Javascript,Ecmascript 6,我正在寻找多维数组的迭代器,我可以轻松地遍历数组。 例如: var multipeArrayLike = [[1,[21,22],3,4],[5,6,7,8]] var iterator = getIterator(multipeArrayLike) console.log(iterator.next().value) // should return 1 console.log(iterator.next().value) // should return 21 console.log(i

我正在寻找多维数组的迭代器,我可以轻松地遍历数组。 例如:

var multipeArrayLike = [[1,[21,22],3,4],[5,6,7,8]]
var iterator = getIterator(multipeArrayLike)

console.log(iterator.next().value) // should return 1 
console.log(iterator.next().value) // should return 21
console.log(iterator.next().value) // should return 22
console.log(iterator.next().value) // should return 3
console.log(iterator.next().value) // should return 4
console.log(iterator.next().value) // should return 5
....
console.log(iterator.next().value) // should return 8

您可以使用类似以下方式的递归生成器:

“严格使用”;
功能*平坦(a){
如果(!Array.isArray(a)){
产生a;
}否则{
for(设a的x)
产量*单位(x);
}
}
var MultiperrayLike=[[1,21,22,3,4],[5,6,7,8]]
对于(让y为平面(多耳环状))

编写(“”+JSON.stringify(y,0,3))您可以使用类似以下方式的递归生成器:

“严格使用”;
功能*平坦(a){
如果(!Array.isArray(a)){
产生a;
}否则{
for(设a的x)
产量*单位(x);
}
}
var MultiperrayLike=[[1,21,22,3,4],[5,6,7,8]]
对于(让y为平面(多耳环状))

编写(“”+JSON.stringify(y,0,3))需要创建递归函数,如果值是数组,则检查值。再次使用该值调用此函数,否则如果值不是数组,则返回值;您需要创建递归函数,如果值是数组,则检查值。再次使用该值调用此函数,否则如果值不是数组,则返回值;如果您添加
“使用严格”
对于您的示例,它将在Chrome中运行(至少是我的版本)。@FelixKling:在这里工作很好(49.0.2623.110),但是添加了,谢谢。啊,我仍然使用48.0.2564.116。它不允许在非严格模式下使用块作用域变量。看起来我应该升级了:如果你添加
“使用严格的”
对于您的示例,它将在Chrome中运行(至少是我的版本)。@FelixKling:在这里工作很好(49.0.2623.110),但是添加了,谢谢。啊,我仍然使用48.0.2564.116。它不允许在非严格模式下使用块作用域变量。看起来我应该升级:D