js 数组中,比较前后元素的某一个属性是否相同,相同返回 true, 不同则 返回 false
时间: 2024-09-10 19:03:47 浏览: 60
在JavaScript中,可以使用数组的`reduce`方法来比较数组中相邻元素的特定属性。`reduce`方法对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值。下面是一个使用`reduce`方法比较数组中相邻元素属性的示例代码:
```javascript
function compare相邻元素属性(arr, propName) {
return arr.reduce((acc, current, index) => {
// 检查是否有足够的元素进行比较
if (index + 1 < arr.length) {
// 如果当前元素的属性值与下一个元素的相同,则返回true,否则返回false
return acc && current[propName] === arr[index + 1][propName];
}
return acc;
}, true); // 初始值设为true,表示数组开始时的比较结果
}
// 示例数组
let myArray = [
{ id: 1, value: 'a' },
{ id: 2, value: 'a' },
{ id: 3, value: 'b' }
];
// 比较id属性
console.log(compare相邻元素属性(myArray, 'id')); // 输出: true false
```
在这个示例中,`compare相邻元素属性`函数接受两个参数:数组`arr`和要比较的属性名`propName`。`reduce`方法遍历数组,比较相邻元素的`propName`属性是否相同,并将比较结果累加。最终返回布尔值,表示整个数组相邻元素的比较结果。
阅读全文