【发布时间】:2015-08-01 14:09:09
【问题描述】:
我正在格式化函数 inputCategories 中的数组,并且无法正确添加“类别”的第三个参数 - 迫使我多次复制该函数。
这是当前状态:
使用参数调用函数。
$scope.categories = inputCategories($scope.item.categories, $scope.settings.categories);
function inputCategories (input, settings) {
var updatedSettings = [];
angular.forEach(input, function(obj) {
updatedSettings.push({"category": obj, "ticked": true});
});
var list = updatedSettings.concat(settings);
list.sort(function(a, b) {
return (a.category > b.category) - (a.category < b.category);
});
for ( var i = 1; i < list.length; i++ ){
if(list[i-1].category == list[i].category) {
list.splice(i,1);
}
}
return list;
};
以下是需要第三个“类别”参数的地方。
function inputCategories (input, settings) {
var updatedSettings = [];
angular.forEach(input, function(obj) {
updatedSettings.push({****"category"****: obj, "ticked": true});
});
var list = updatedSettings.concat(settings);
list.sort(function(a, b) {
return (a.****category**** > b.****category****) - (a.****category**** < b.****category****);
});
for ( var i = 1; i < list.length; i++ ){
if(list[i-1].****category**** == list[i].****category****) {
list.splice(i,1);
}
}
return list;
};
我认为我遇到的问题是因为我在第四行的对象内部混合了字符串和一个字符串变量...?
【问题讨论】:
标签: javascript arrays angularjs function sorting