我只想计算一种类型的产品,这是最好的方法,例如我希望它打印“ORANGE”= 2 的数量而不是整个数组:
var fruits = ["Banana", "Orange", "Apple", "Mango","Orange"];
fruits.length;
console.log(fruits.length);
我只想计算一种类型的产品,这是最好的方法,例如我希望它打印“ORANGE”= 2 的数量而不是整个数组:
var fruits = ["Banana", "Orange", "Apple", "Mango","Orange"];
fruits.length;
console.log(fruits.length);
使用
filter
:首先过滤所有结果,
"Orange"
然后打印长度。基本上正在创建原始数组的子数组。或者使用新的符号:
更新:
在我看来,计算水果最简单的方法是创建一个存储数量的对象:
0
在迭代的每一次迭代中,如果该属性在对象中不存在(使用hasOwnProperty
) ,则初始化数量本身。您必须使用这样的循环和计数器:
@alfredo 的回答完全破坏了函数式编程结构,使用通过在函数外改变值的避免效果,@César 的回答非常好,它是最常见的,你也可以使用一个依靠 reduce 的累加器。
在函数式编程中,不使用递归,这里是一个map内部如何工作的例子
如您所见,它返回一个数组,就像过滤器一样,这就是为什么将 .length 与过滤器一起使用会返回搜索值的计数。
我把这个例子留给你 map 方法