前端判断数组中某几个对象中某个属性的值是否相同,相同则返回该属性值
时间: 2023-08-28 19:03:51 浏览: 143
可以使用JavaScript的reduce()方法来判断数组中某几个对象的某个属性值是否相同,并返回该属性值。下面是一个示例代码:
```javascript
const array = [
{ id: 1, name: 'John' },
{ id: 2, name: 'Jane' },
{ id: 3, name: 'John' },
];
const targetProperties = ['name'];
const result = targetProperties.reduce((acc, prop) => {
const values = array.map(obj => obj[prop]);
const areValuesEqual = values.every(val => val === values[0]);
if (areValuesEqual) {
acc[prop] = values[0];
}
return acc;
}, {});
console.log(result); // Output: { name: 'John' }
```
在上述示例中,我们定义了一个数组`array`,其中包含了一些对象。我们使用`reduce()`方法来迭代我们想要判断的属性数组`targetProperties`。对于每个属性,我们使用`map()`方法来提取相应的属性值,并使用`every()`方法来判断这些属性值是否都相等。如果是,则将属性名作为键,属性值作为值,添加到结果对象`acc`中。
在这个示例中,我们判断了`name`属性的值是否都相等,因为`John`在数组中出现了两次,所以最终结果为`{ name: 'John' }`。你可以根据实际需要修改示例代码来适应你的情况。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20250102104920.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![.zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231044901.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)