Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.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 Angular2/Ionic-在数组中查找重复项并组织它们_Javascript_Json_Angular_Ionic2_Swiper - Fatal编程技术网

Javascript Angular2/Ionic-在数组中查找重复项并组织它们

Javascript Angular2/Ionic-在数组中查找重复项并组织它们,javascript,json,angular,ionic2,swiper,Javascript,Json,Angular,Ionic2,Swiper,我有一个数组,在JSON数组中包含多个元素, 我可以通过doingcategory.language(JSON中还有一些其他元素可以访问,例如doingcategory.name,category.photo,等等) 我想做的是将副本放在一起,最终得到: English, Russian, French 不删除重复项,因为删除它们也将删除其他相关元素,如category.name。。。还有其他不同的价值观 目前我正在从REST API获取数据,以下是我的代码: Page.js this

我有一个数组,在JSON数组中包含多个元素, 我可以通过doing
category.language
(JSON中还有一些其他元素可以访问,例如doing
category.name
category.photo
,等等)

我想做的是将副本放在一起,最终得到:

English, Russian, French
不删除重复项,因为删除它们也将删除其他相关元素,如
category.name
。。。还有其他不同的价值观

目前我正在从REST API获取数据,以下是我的代码:

Page.js

    this.menuPages = {
          pagination: '.swiper-pagination',
          //need to have 1 or more (it should some how dynamic depending on the number of the unique items, i.e. sometimes should 1 slide per view, sometimes 10 slides per view )
          slidesPerView: '1',
          paginationClickable: true,
          paginationBulletRender: function (index, className) {
          console.log('print now2 : '+storeCategory[index]); 
          return '<span class="' + className + '">' + storeCategory[index] + '</span>';
          }
      }
this.menuPages={
分页:'.swiper分页',
//需要有1张或多张幻灯片(根据独特项目的数量,它应该是动态的,即有时每个视图应该有1张幻灯片,有时每个视图应该有10张幻灯片)
SlideService视图:“1”,
paginationClickable:true,
分页BulletRender:函数(索引、类名){
log('print now 2:'+storeCategory[index]);
返回“”+存储类别[索引]+“”;
}
}
Page.html

  <ion-slides pager [options]="Pages">
          <ion-slide *ngFor="#category of categories">   
     //put the duplicates with each other, to have one element or more in every slide(page)
          <ion-row>
          <ion-col>
          <div class="title">{{category.name}</div>
          <div class="subTitle"><br>{{category.photo}}</div>
          </ion-col>
          </ion-row>
          </ion-slide>
    </ion-slides>

//将副本放在一起,使每张幻灯片(页面)中有一个或多个元素
{{category.name}

{{category.photo}

我相信通过
page.html
page.js
来解决这个问题!我希望你能提出一些想法来解决它!

我不清楚你到底在问什么,但你可以使用ES6集来确保每个条目的唯一性


我不清楚您到底在问什么,但您可以使用ES6设置来确保每个条目的唯一性


我不确定我是否理解了您的要求,但以下是一些基于我理解的代码:

var pages = {}; // create object to hold the collections
categories.map(cat=>{
        if (!pages[cat.language])
            pages[cat.language]=[];  // create a list for every language
        return cat;
    })
    .forEach(cat=>pages.push(cat)); // push every category to the related list
pages对象的属性将命名为每种语言:

pages = {
        English:[
            {language:'English',name:'...',photo:'...'},
            {language:'English',name:'...',photo:'...'}
        ],
        Russian:[
            {language:'Russian',name:'...',photo:'...'},
            {language:'Russian',name:'...',photo:'...'}
        ]
    }

我不确定我是否理解了您的要求,但以下是一些基于我理解的代码:

var pages = {}; // create object to hold the collections
categories.map(cat=>{
        if (!pages[cat.language])
            pages[cat.language]=[];  // create a list for every language
        return cat;
    })
    .forEach(cat=>pages.push(cat)); // push every category to the related list
pages对象的属性将命名为每种语言:

pages = {
        English:[
            {language:'English',name:'...',photo:'...'},
            {language:'English',name:'...',photo:'...'}
        ],
        Russian:[
            {language:'Russian',name:'...',photo:'...'},
            {language:'Russian',name:'...',photo:'...'}
        ]
    }