Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Vuejs中从内部数组隐藏重复项_Javascript_Node.js_Vue.js_V For - Fatal编程技术网

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>