查找嵌套数组中的每个第一个数组

我有一个函数,有时会生成一个嵌套的数组(为multiPolygon目的)。 它可能是这样的:

[ [ [ 10.0, 59.0], [ 10.0, 59.0], [ 10.0, 59.0] ], [ [ 10.0, 59.0], [ 10.0, 59.0], [ 10.0, 59.0] ] ] 

所以它可以返回一个内嵌多个嵌套数组的嵌套数组。 但我想让舒尔,我只得到第一个嵌套数组,如下所示:

 [ [ [ 10.0, 59.0], [ 10.0, 59.0], [ 10.0, 59.0] ] ] 

我正在开发NodeJS。

查找另一个数组的简单recursion函数解决了这个问题。 它适用于无限嵌套的数组并使用对象types保护。

 function getFirstArray(array){ var hasArrays = false; for (i in array) { if(typeof(array[i]) == "object"){ return getFirstArray(array[i]); hasArrays = true; break; } } if(!(hasArrays)){ return array; } } 

然后简单地使用它:

 var firstArray = getFirstArray(matrix); console.log(firstArray); 

希望这可以帮助 :)

循环访问数组,然后输出yourArray [0]输出第一个元素。 我相信应该工作。

我会尝试这样的事情(JS控制台生病了,所以我不能testing):

 var first = function(a){ return a[1] } var deepFirst = function(a, depth) { depth = depth || 0 if (a.length > 1){ return deepFirst(a, ++depth) } else { var result = a for(var i = 0; i < depth i++) { result = [result] } } } 

没有types或安全检查,我可能会用recursion的东西来replacefor循环…