vue中遇到的问题:统计个数 filter()用法
统计问题:统计数组中相同属性的个数问题,filter()的用法
=> filter()用于对数组进行过滤。它创建一个新数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
例1:
let nums = [1, 2, 3, 4, 5, 6, 7, 8, 9];
let res = nums.filter((num) => {
return num > 5;
});
console.log(res); // [6, 7, 8, 9]
例2:
```javascript
render: (row) => {
return row.expand.dm.expand
? `共讲解${row.expand.dm.expand.length}个,
${row.expand.dm.expand.filter(item => item.explain_good === 0).length}个清晰,`
: '无数据'
},
//遍历数组的每一项,会用每一项的explain_good跟0比较,如果等于0,就会return出去,最后得到所有explain_good等于0的项,然后在.length得到个数,过滤的数组长度。
例3:
// 自定义过滤函数,筛选出年龄大于等于 25 的人
function filterAdult(person) {
return person.age >= 25;
}
const people = [
{ name: "Alice", age: 25 },
{ name: "Bob", age: 30 },
{ name: "Charlie", age: 20 },
];
// 使用自定义过滤函数
const adults = people.filter(filterAdult);
console.log(adults);
// 输出: [{ name: "Alice", age: 25 }, { name: "Bob", age: 30 }]
例4:
// 自定义过滤函数,筛选出名字以 "A" 开头的人
function filterNameStartsWithA(person) {
return person.name.startsWith("A");
}
const people = [
{ name: "Alice", age: 25 },
{ name: "Bob", age: 30 },
{ name: "Charlie", age: 20 },
];
// 使用自定义过滤函数
const startsWithA = people.filter(filterNameStartsWithA);
console.log(startsWithA);
// 输出: [{ name: "Alice", age: 25 }]