Vue.js 找出数组中重复元素的最佳方法
可以使用 JavaScript 中的 Set 数据结构来实现:
const arr = [1, 2, 3, 4, 2, 5, 1];
const set = new Set(arr); // 将数组转换为Set,去除重复元素
const result = Array.from(set).filter(item => arr.indexOf(item) !== arr.lastIndexOf(item)); // 将Set转换为数组,并筛选出在原数组中出现过多次的元素
console.log(result); // [1, 2]
在 Vue 中,可以将以上代码封装为一个函数,然后在需要的地方调用:
methods: {
findDuplicates(arr) {
const set = new Set(arr);
return Array.from(set).filter(item => arr.indexOf(item) !== arr.lastIndexOf(item));
}
}
然后在模板中使用:
<template>
<div>
<p>数组:{{ arr }}</p>
<p>重复元素:{{ findDuplicates(arr) }}</p>
</div>
</template>
<script>
export default {
data() {
return {
arr: [1, 2, 3, 4, 2, 5, 1]
}
},
methods: {
findDuplicates(arr) {
const set = new Set(arr);
return Array.from(set).filter(item => arr.indexOf(item) !== arr.lastIndexOf(item));
}
}
}
</script>
原文地址: https://www.cveoy.top/t/topic/mkR4 著作权归作者所有。请勿转载和采集!