计算数组中的真实出现次数,并将它们绑定到角度变量



我有一组带有复选框的输入字段,用户可以在其中选择一个选项。然后,如果选中,它将在本地存储中保存为 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((

相关内容

  • 没有找到相关文章

最新更新