js 数组筛选cust字段包含“350”的记录,给出3钟方法
时间: 2024-12-24 22:32:03 浏览: 16
在JavaScript中,有多种方法可以过滤出数组中`cust`字段包含字符串"350"的记录。以下是三种常见的方法:
1. **使用filter()方法**:
```javascript
let arr = [{ cust: "120", ... }, { cust: "350", ... }, { cust: "400", ... }];
let filteredArr = arr.filter(obj => obj.cust.includes("350"));
```
`includes()`检查`cust`属性是否包含"350"。
2. **使用Array.prototype.some()配合find()方法**:
```javascript
let found = false;
let filteredArr = [];
arr.some(obj => {
if (obj.cust === "350") {
filteredArr.push(obj);
found = true;
return true; // 提前终止some()
}
});
if (!found) filteredArr = []; // 没找到则清空数组
```
这种方法先遍历,一旦找到就停止并返回结果。
3. **使用reduce()方法**:
```javascript
let filteredArr = arr.reduce((acc, cur) => cur.cust === "350" ? acc.concat(cur) : acc, []);
```
`reduce()`将所有元素映射到一个新的数组,直到找到匹配项。
阅读全文