喜欢例如。
Array.map((obj, index) => (
condition === true ?
default index counter increment
: do not increase index count
))
我希望我的计数器只有在条件成立的情况下才会增加,是否有任何解决方法?当我喜欢基于对象向行添加替换颜色时我遇到问题,如果我想拒绝某些对象并且不创建任何行,即使行没有创建,仍然我的计数器增加,颜色适用于实际上不存在的行并产生UI缺陷。
答案 0 :(得分:2)
您可以使用Array.prototype.forEach()并根据"条件"增加counter
变量。这是逐个应用于数组的所有元素:
let counter = 0;
Array.forEach((o, i) => condition && counter++);
答案 1 :(得分:1)
您可以将Array#reduce
与计数器一起使用,例如
var count = array.reduce(function (r, a, i) {
return r + (condition);
}, 0);
而不是Array#map
,因为您需要一个值而不是一个包含所有undefined
值的新数组。