我有一组带有复选框的输入字段,用户可以在其中选择一个选项。然后,如果选中,它将在本地存储中保存为 true,如果未选中,则为 false。键"乘客"下的本地存储如下所示:
0: {name: "", child: false, luggage: true}
1: {name: "", child: true, luggage: false}
2: {name: "", child: false, luggage: true}
3: {name: "", child: true, luggage: false}
我想计算 true 的出现次数并在变量中存储为数字
public luggageCounter: number;
我试图使用
this.luggageCounter = countTrue([this.passengers[i].luggage]], true)
console.log(this.luggageCounter)
和const countTrue = (arr, val) => arr.reduce((a, v) => (v === val ? a +1 : a), 0)
但这两种解决方案都不起作用。我还在考虑通过添加下面的代码 [ngClass] 并将其与 component.ts 中的方法绑定来使其更容易并从 HTML 中切换值,但也没有成功。
<div>Extra luggage: {{ passengers[i].luggage ? 'Yes' : 'No' }}<div>
任何想法如何使这个简单的任务工作?我没有想法:)
请尝试以下解决方案
const data = [
{ name: "", child: false, luggage: true },
{ name: "", child: true, luggage: false },
{ name: "", child: false, luggage: true },
{ name: "", child: true, luggage: false },
];
const total = data.reduce((previousValue, currentValue) => {
if (currentValue.luggage) {
previousValue += 1;
}
return previousValue;
}, 0);
console.log(total);
看
- Array.prototype.reduce((