Javascript Angular2/Ionic-在数组中查找重复项并组织它们
我有一个数组,在JSON数组中包含多个元素, 我可以通过doingJavascript 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
category.language
(JSON中还有一些其他元素可以访问,例如doingcategory.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:'...'}
]
}