【问题标题】:Get number of objects inside a collection of arrays JAVASCRIPT获取数组集合中的对象数量 JAVASCRIPT
【发布时间】:2020-11-08 02:01:14
【问题描述】:

我有一个数组集合,每个数组中都有动态数量的对象:

arr1=[obj1, obj2, obj3, other1, other2]
arr2=[obj1, obj2, other1]
...//some more arrays with any number of objects inside them

我想统计对象的总数,忽略“其他”,只计算“obj”对象。

我不确定是否可以通过数组解构来实现这一点。 有什么想法吗?

【问题讨论】:

  • 从它的本质来看,我认为您不应该将用户输入直接提供给 RegEx 变量。
  • 那我该怎么做呢?
  • 查找所有可能的 RegEx 保留/混乱字符,用户可以输入这些字符并将它们替换为安全字符或转义它们。
  • 括号'('是组的正则表达式字符,意味着你没有转义它。
  • 我知道这一点,但我怎样才能让我的正则表达式忽略用户输入?

标签: javascript reactjs regex


【解决方案1】:

为此无法避免对数组进行迭代,但您可以隐式进行。

假设您有一个名为 objDetector 的函数,如果应该计算元素,则返回 true,否则返回 false,您可以这样做:

const numberOfObjs = arr.filter(objDetector).length

【讨论】:

  • 而objDetector是一个函数?
【解决方案2】:

您可以通过遍历每个值来计算数组中的对象数量 并检查该值是否为对象。

var objects_count = 0;

for (var i=0; i<arr.length; i++) {
    if (typeof(arr[i]) == 'object') {
        objects_count += 1;
    }
}

在这种情况下,objects_count 将是数组中的对象数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-24
    • 1970-01-01
    • 2021-09-05
    • 1970-01-01
    • 1970-01-01
    • 2018-11-19
    • 2021-08-22
    • 2021-06-02
    相关资源
    最近更新 更多