我有函数创建的对象:
$scope.checkPosRole = function(possition , posRole , posFunction) {
var rolePos = {pos: possition, posRole: posRole, posFunction: posFunction};
$scope.rolePossition.push(rolePos);
};
问题是我想在数组中只有一个具有指定值pos
的对象。如果对象添加了值pos
,该值已存在于数组中,我想要将新对象与已存在于数组中的对象交换。
我已经尝试过每个函数调用用foreach
扫描表格,但没有给我带来理想的效果。请帮忙。
答案 0 :(得分:4)
试试这个
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)
}
}