Javascript 如何在Vuejs中从内部数组隐藏重复项
我试图从Javascript 如何在Vuejs中从内部数组隐藏重复项,javascript,node.js,vue.js,v-for,Javascript,Node.js,Vue.js,V For,我试图从vuejs中的嵌套数组中删除重复的键,并将它们从DOM <div class="container" v-for="shops in malls"> <div class="container" v-for="shop in shops.section"> <div class="detail-report-item" v-for="deta
vuejs
中的嵌套数组中删除重复的键,并将它们从DOM
<div class="container" v-for="shops in malls">
<div class="container" v-for="shop in shops.section">
<div class="detail-report-item" v-for="detail in shop.shop" :key="detail.id" :id="detail.id">
<span> {{ detail.name }} </span>
<span> {{ detail.date }} </span>
</div>
</div>
</div>
您可以使用一种方法(源:)从数组中删除所有重复的键(在本例中,我们假设具有相同ID的条目是重复的):
然后在html模板中使用它:
<div class="detail-report-item" v-for="detail in filteredList(shop.shop)" :key="detail.id" :id="detail.id">
我想知道您的数据字段是什么?
您可以通过计算键计算具有重复id的新数组,以获得更好的性能。
你可以参考这个例子
<template>
<section class="second-section">
<div class="row">
<p>Numbers:</p>
<li v-for="n in numbers" :key="n.id"> {{ n }}</li>
<p>Even Numbers:</p>
<li v-for="n in evenNumbers" :key="n.id">{{ n }}</li>
<p>Odd Numbers:</p>
<li v-for="n in oddNumbers" :key="n.id">{{ n }}</li>
</div>
</section>
</template>
<script>
export default {
name: 'second-section',
data () {
return {
numbers: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
}
},
computed: {
evenNumbers: function () {
return this.numbers.filter(function (number) {
return number % 2 === 0
})
},
oddNumbers: function () {
return this.numbers.filter(function (number) {
return number % 2 === 1
})
}
}
}
</script>
编号:
{{n}
偶数:
{{{n}
奇数:
{{{n}
导出默认值{
名称:'第二部分',
数据(){
返回{
数字:[1,2,3,4,5,6,7,8,9,10]
}
},
计算:{
偶数:函数(){
返回此.numbers.filter(函数(编号){
返回编号%2==0
})
},
OddNumber:函数(){
返回此.numbers.filter(函数(编号){
返回编号%2==1
})
}
}
}
使用数据之前
过滤重复项
<div class="detail-report-item" v-for="detail in filteredList(shop.shop)" :key="detail.id" :id="detail.id">
<template>
<section class="second-section">
<div class="row">
<p>Numbers:</p>
<li v-for="n in numbers" :key="n.id"> {{ n }}</li>
<p>Even Numbers:</p>
<li v-for="n in evenNumbers" :key="n.id">{{ n }}</li>
<p>Odd Numbers:</p>
<li v-for="n in oddNumbers" :key="n.id">{{ n }}</li>
</div>
</section>
</template>
<script>
export default {
name: 'second-section',
data () {
return {
numbers: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
}
},
computed: {
evenNumbers: function () {
return this.numbers.filter(function (number) {
return number % 2 === 0
})
},
oddNumbers: function () {
return this.numbers.filter(function (number) {
return number % 2 === 1
})
}
}
}
</script>