我有通过函数创建的对象:
$scope.checkPosRole = function(possition , posRole , posFunction) {
var rolePos = {pos: possition, posRole: posRole, posFunction: posFunction};
$scope.rolePossition.push(rolePos);
};
问题是我想在数组中只有1个具有指定值
pos
的对象。如果添加对象的值pos
已经存在于数组中,那么我想将新对象与数组中已经存在的对象交换。我已经尝试过每个函数调用都使用
foreach
扫描表,但是并没有带来令人满意的效果。请帮忙。 最佳答案
尝试这个
var rolePosition = [{ id: 1}, {id: 2}, {id: 3}];
function addRolePosition(data) {
var index = -1;
for(var i = 0, i < rolePosition.length; i++) {
if(rolePosition[i].id === data.id) {
index = i;
}
}
if(index > -1) {
rolePosition[index] = data;
} else {
rolePosition.push(data)
}
}