简单数组映射问题-JavaScript

简单数组映射问题-JavaScript,javascript,Javascript,我的Javascript程序有一个简单的问题。问题是,当我尝试映射嵌套数组的长度时,最后一个数组被排除 // the length doesnt matter, its N number of arrays var exampleArray = [ [nested array], ..., [nested array] ]; function findArrayLengths() { var arrayLengths = exampleArray.map(function(x) {

我的Javascript程序有一个简单的问题。问题是,当我尝试映射嵌套数组的长度时,最后一个数组被排除

// the length doesnt matter, its N number of arrays
var exampleArray = [ [nested array], ..., [nested array] ];

function findArrayLengths() {
  var arrayLengths = exampleArray.map(function(x) {
    return x.length; });
  return arrayLengths; }
我的问题是,我是否有明显的遗漏。或者这段代码理论上不应该生成一个包含所有嵌套数组长度的新数组吗?

您可以这样做。 您需要递归地展平数组

我正在考虑嵌套的嵌套数组你的意思是嵌套数组可以有任何深度

var-exampleArray=[[1,2,3,4],[1,2,3],[1,2,3,4,5],[1,2,3,4,1,2,3,4]];
函数FinDarRayLength(输入){
返回输入。减少((操作,当前)=>{
返回数组.isArray(cur)?op.concat(findarrayLength(cur)):op.concat(cur)
},[])
}
让op=exampleArray.map(e=>{
返回FindArray长度(e).长度
})

控制台日志(op)请提供一个。假设代码没有说明问题,这无助于我们回答有关您遇到的错误的问题。即使没有真正的代码,这个假设代码不应该生成一个包含所有嵌套数组长度的新数组吗?Luco,是的,您完全正确。这就是为什么当我尝试映射嵌套数组的长度时,它没有演示
,最后一个数组被排除在外。
我不知道如何正确地提供MCVE,因为我不知道问题可能出在哪里,我不能直接转储所有代码。我将试着编一个简单的例子,看看它是否有效。然后一步一步地让它看起来更像你的代码。这样,您就可以确切地知道它们在哪里以及为什么会出现分歧,并可以自己解决您的问题:-)这很有趣,但OP的问题中没有任何东西表明嵌套不止一个级别-它看起来就像一个数组。@MarkMeyer我认为嵌套数组意味着它可以有任何深度。递归将适用于所有情况。我还添加了如何使用flat。谢谢@CodeManiac,它们看起来将来会派上用场。遗憾的是,我发现问题在于阵列制作不正确,所以不是函数故障。