可以使用Array.reduce()方法和条件语句来合并带条件的数组元素。
下面是一个示例,将数组中相邻的元素合并,只有当它们的类型都是相同的时候才进行合并:
var arr = [
{type: 'a', value: 1},
{type: 'a', value: 2},
{type: 'b', value: 3},
{type: 'a', value: 4},
{type: 'b', value: 5},
{type: 'b', value: 6},
{type: 'c', value: 7},
];
var result = arr.reduce(function(acc, curr) {
if (acc.length > 0 && acc[acc.length - 1].type === curr.type) {
acc[acc.length - 1].value += curr.value;
} else {
acc.push(curr);
}
return acc;
}, []);
console.log(result);
// Output: [{type: 'a', value: 3}, {type: 'b', value: 3}, {type: 'a', value: 4}, {type: 'b', value: 11}, {type: 'c', value: 7}]
在这个示例中,加法运算只是一个简单的例子,假设您有更复杂的需求可以根据具体情况进行修改。