vue如何将数组对象中值相同的对象取出并且将键名以@字符拼接成字符串输出
时间: 2023-05-27 22:03:09 浏览: 113
Vue如何循环提取对象数组中的值
可以通过遍历数组来找到值相同的对象,并将键名以@字符拼接成字符串输出。具体代码如下:
```javascript
let arr = [
{ name: 'Tom', age: 18 },
{ name: 'Jim', age: 20 },
{ name: 'Lucas', age: 18 },
{ name: 'Mike', age: 20 }
];
let obj = {};
arr.forEach(item => {
let key = item.age.toString();
if (obj[key]) {
obj[key].push(item.name);
} else {
obj[key] = [item.name];
}
});
for (let key in obj) {
console.log(`${key}@${obj[key].join('@')}`);
}
```
输出结果为:
```
18@Tom@Lucas
20@Jim@Mike
```
说明:上述代码中,我们首先创建一个空对象obj来存储结果,然后遍历数组arr,将每个对象的age属性值拼接成字符串作为obj的键名key,如果该键名已经存在,则将当前对象的name属性值添加到该键名的值中,如果不存在,则创建一个键名为key的数组,并将当前对象的name属性值添加到该数组中。最后,我们遍历obj对象,将每个键名和值拼接成字符串输出。
阅读全文