数组对象筛选某个属性值是否相同
时间: 2023-09-25 07:08:55 浏览: 98
可以使用数组的`filter`方法来筛选某个属性值是否相同的对象。以下是一个示例代码:
```javascript
// 示例数组
const objArray = [
{ id: 1, name: 'John' },
{ id: 2, name: 'Jane' },
{ id: 3, name: 'John' },
{ id: 4, name: 'Bob' }
];
// 筛选属性值为 'John' 的对象
const filteredArray = objArray.filter(obj => obj.name === 'John');
console.log(filteredArray);
```
在上面的代码中,我们使用`filter`方法来筛选`objArray`数组中`name`属性值为`'John'`的对象。筛选结果将会被存储到`filteredArray`数组中,并打印到控制台。
输出结果为:
```
[
{ id: 1, name: 'John' },
{ id: 3, name: 'John' }
]
```
这样,我们就筛选出了`name`属性值为`'John'`的对象。你可以根据需要修改属性值和条件来筛选不同的对象。
相关问题
js筛选出数组对象中某个字段相同的
要筛选出数组对象中某个字段相同的,首先需要遍历整个数组,查找该字段的值。可以使用for循环或forEach方法来遍历数组,然后通过条件语句筛选出符合要求的对象。
例如,假设要筛选出一个学生数组中同一年级的学生,可以使用以下代码:
```javascript
let students = [
{ name: "张三", grade: "三年级" },
{ name: "李四", grade: "四年级" },
{ name: "王五", grade: "三年级" },
{ name: "赵六", grade: "三年级" }
];
let grade = "三年级";
let result = [];
students.forEach(function(student) {
if (student.grade === grade) {
result.push(student);
}
});
console.log(result);
```
这段代码首先定义了一个包含学生对象的数组。然后定义了一个变量grade来表示要筛选的年级。接着使用forEach方法遍历数组,判断每个学生对象中的grade属性是否等于grade变量,如果相等就将该对象添加到result数组中。最后打印result数组可以看到符合要求的学生对象。
判断数组里的对象里的属性值和外面的参数相同
可以使用数组的 `filter` 方法来筛选数组中符合条件的对象,然后判断筛选后的数组长度是否大于0,来判断数组里是否存在符合条件的对象。
例如,假设有一个包含对象的数组 `arr`,每个对象都有一个属性 `name`,我们要判断其中是否存在 `name` 属性值等于某个指定值 `targetName` 的对象,可以使用以下代码:
```
const targetName = 'John';
const filteredArr = arr.filter(obj => obj.name === targetName);
if (filteredArr.length > 0) {
console.log(`数组中存在 name 属性值为 ${targetName} 的对象`);
} else {
console.log(`数组中不存在 name 属性值为 ${targetName} 的对象`);
}
```
这段代码中,`filter` 方法接受一个函数作为参数,这个函数会遍历数组中的每个对象,如果对象的 `name` 属性值等于 `targetName`,则将这个对象加入到新数组 `filteredArr` 中。然后再判断 `filteredArr` 的长度是否大于0,即可得出结论。
阅读全文