获取JAVASCRIPT数组集合中的对象数
我有一个数组集合,每个数组中都有动态数量的对象:获取JAVASCRIPT数组集合中的对象数,javascript,reactjs,regex,Javascript,Reactjs,Regex,我有一个数组集合,每个数组中都有动态数量的对象: arr1=[obj1, obj2, obj3, other1, other2] arr2=[obj1, obj2, other1] ...//some more arrays with any number of objects inside them 我想计算对象的总数,忽略“其他”对象,只计算“obj”对象 我不确定是否可以通过阵列分解来实现这一点。 有什么想法吗?您可以通过循环每个值来计算数组中的对象数 并检查该值是否为对象 var ob
arr1=[obj1, obj2, obj3, other1, other2]
arr2=[obj1, obj2, other1]
...//some more arrays with any number of objects inside them
我想计算对象的总数,忽略“其他”对象,只计算“obj”对象
我不确定是否可以通过阵列分解来实现这一点。
有什么想法吗?您可以通过循环每个值来计算数组中的对象数 并检查该值是否为对象
var objects_count = 0;
for (var i=0; i<arr.length; i++) {
if (typeof(arr[i]) == 'object') {
objects_count += 1;
}
}
var对象\u计数=0;
对于(var i=0;i,无法避免对数组进行迭代,但可以隐式地进行
假设您有一个名为objDetector
的函数,该函数返回true
,如果一个元素应该计数,则返回false
,否则,您可以执行以下操作:
const numberOfObjs = arr.filter(objDetector).length
从实际情况来看,我认为您不应该将用户输入直接输入RegEx变量。那么我应该怎么做呢?找到所有可能的RegEx保留/可供使用的字符,用户可以输入并替换为安全字符或转义。括号中的('是组的正则表达式字符,这意味着您不能转义它。我知道这一点,但如何让我的正则表达式从用户输入中忽略它?而objDetector是一个函数?