【问题标题】:How to count array elements inside an array in javascript?如何在javascript中计算数组中的数组元素?
【发布时间】:2017-12-19 11:13:04
【问题描述】:

我在nodejs中有一个如下数组

 var dataary=[];
    dataary=[ [ 'reg_no', 'slno', 'name', 'email', 'rollno' ],
    [ 'int', 'int', 'varchar', 'varchar', 'int' ],
    [ '100', '11', '255', '255', '100' ] ]

我需要数组元素的计数。当我执行 dataary.length 时,它将返回 3。但我需要计数为 5(数组内的元素计数)。我怎样才能获得元素的计数。 ?

【问题讨论】:

  • 欢迎来到 Stack Overflow!请使用tour 并通读help center,尤其是How do I ask a good question? 做你的研究,search 以获取有关 SO 的相关主题,然后试一试。 如果您在进行更多研究和搜索后遇到困难并且无法摆脱困境,请发布您的尝试minimal reproducible example,并具体说明您遇到的问题。人们会很乐意提供帮助。祝你好运!
  • 使用dataary[0].length
  • 注意:碰巧dataary 中的所有数组的长度都是 5,但它们也有可能各自具有不同的长度。
  • But i need the count of elements inside each array - 循环遍历主数组并提取每个子数组的长度? - stackoverflow.com/questions/12502843/…
  • But i need the count as 5 你需要得到5或15的答案?

标签: javascript node.js


【解决方案1】:

使用 map,您可以在一个数组中获取所有长度,然后您可以对它们求和或做任何您想做的事情。

var allLengths = dataary.map(element => {
   return element.length;
});

【讨论】:

    【解决方案2】:

    遍历循环并获取每个单独 array 的长度。forEach() 方法对每个数组元素执行一次提供的函数。

    var dataary=[];
        dataary=[ [ 'reg_no', 'slno', 'name', 'email', 'rollno' ],
        [ 'int', 'int', 'varchar', 'varchar', 'int' ],
        [ '100', '11', '255', '255', '100' ] ,
        [ '1', '2', '3' ]]
        dataary.forEach(function(element) {
        console.log(element.length);
        });

    【讨论】:

      【解决方案3】:

      我会那样做的......

      dataary.reduce((count, innerArray) => count + innerArray.length, 0);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-02-05
        • 1970-01-01
        • 1970-01-01
        • 2016-09-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多