我有两个包含相同元素的列表以及不同的元素。如何从这两个列表中制作一个列表,让我产生共性和新项目。?
...
<list-of-items items="application.units"
label="$item.name"
selected-item="unit"
selectable="true"
onedit="on_edit_unit($item)"
editable="false"
size="small">
</list-of-items>
<list-of-items items="applicationCible.units"
label="$item.name"
selected-item="unit"
selectable="true"
onedit="on_edit_unit($item)"
editable="false"
size="small">
</list-of-items>
...
更新:
在我的HTML中:
..
<list-of-items items="platforms.concat(platformsCible).unique()"
label="$item"
selected-item="platform"
createfunction="add_platform($name)"
selectable="true"
editable="false"
size="small">
</list-of-items>
..
在我的JS中
propertiesModule.controller('PropertiesCtrl', ['$scope', '$routeParams', 'PropertiesService', 'ApplicationService', 'PlatformService', 'Page', function ($scope, $routeParams, PropertiesService, ApplicationService, PlatformService, Page) {
...
Array.prototype.unique = function() {
var a = this.concat();
for(var i=0; i<a.length; ++i) {
for(var j=i+1; j<a.length; ++j) {
if(a[i] === a[j])
a.splice(j--, 1);
}
}
return a;
};
}]);
此方法有重复的项目
THX。
答案 0 :(得分:1)
执行此操作的一种方法是使用Array.prototype.concat()连接两个列表:
<list-of-items items="application.units.concat(applicationCible.units)"
label="$item.name"
selected-item="unit"
selectable="true"
onedit="on_edit_unit($item)"
editable="false"
size="small">
</list-of-items>