如何计算对象

时间:2016-11-30 01:16:05

标签: javascript html5 object count

我有一个对象" b"里面有很多物体,我想看看里面有多少特定的物体。

对象" b"里面有object k, object k, array cat

我想要做的是返回对象的次数" b"包含对象" k"。这应该是2,因为此对象有2个实例。我似乎无法获得长度。

我已经尝试了keys(b).length,但这返回了所有对象的总数,包括非对象k。

例:
b["k","k","property","cat"]

如何获得" k"从上面的例子?

2 个答案:

答案 0 :(得分:0)

当然键(b).length返回数组的长度。你可以做的是循环键(b)并检查K的外观并计算外观。

答案 1 :(得分:0)

您可以遍历数组中的项目,并仅计算与您要查找的内容相匹配的元素。

让我们说你的数组b如下所示:

var b = ['k', 'k', 'property', 'cat'];

你只返回字符串数“k”的函数就是这样:

function elementCount(arr, element) {
  var count = 0;
  var i;

  for (i = 0; i < arr.length; i++) {
    if (arr[i] === element) {
      count++
    }
  }

  return count;
}

现在您可以通过运行来获取“k”元素的数量:

kCount = elementCount(b, 'k');

定义此功能的另一种方法是使用Array.prototype.reduce()

function elementCount(arr, element) {
  return arr.reduce(function(prev, next) {
    if (next === 'k') {
      return prev + 1;
    } else {
      return prev;
    }
  }, 0);
}