vue,js:去重 数组中数组属性值一样的去重
时间: 2024-08-23 18:00:47 浏览: 37
在Vue.js中,如果你想要对数组进行去重操作,并且基于某个数组元素的属性值来进行判断,可以使用JavaScript的map()、filter()和reduce()函数结合。这里有一个简单的示例:
```javascript
let arr = [
{ id: 1, name: 'John' },
{ id: 2, name: 'John' },
{ id: 3, name: 'Jane' },
{ id: 4, name: 'Jane' }
];
// 定义要去重的属性名
const keyToUnique = 'name';
// 使用filter()和reduce()去重
let uniqueArr = arr.filter((item, index, self) => {
return self.findIndex(i => i[keyToUnique] === item[keyToUnique]) === index;
});
console.log(uniqueArr);
```
在这个例子中,我们首先选择了`keyToUnique`属性作为去重依据,然后使用filter()过滤出每个元素第一次出现的情况,reduce()则用于迭代整个数组并返回结果。
相关问题
vue中如何取出数组中对象的属性值
你可以使用数组的map方法,将每个对象的属性值提取出来,形成一个新的数组。例如,如果你想取出一个数组中每个对象的name属性值,可以这样写:
```
const arr = [{name: '张三', age: 18}, {name: '李四', age: 20}, {name: '王五', age: 22}];
const names = arr.map(item => item.name);
console.log(names); // ['张三', '李四', '王五']
```
这样就可以得到一个只包含name属性值的新数组了。
vue js 数组去重
Vue.js数组去重可以使用多种方法。引用中的方法一是通过定义一个新数组,遍历原数组,将不重复的元素添加到新数组中。代码如下:
```javascript
function unique(arr) {
let newArr = [arr === newArr[j]) {
repeat = true;
break;
}
}
if (!repeat) {
newArr.push(arr[i]);
}
}
return newArr;
}