如果两个数组中都存在某个对象,如何比较两个对象数组并更新键?
$scope.listOne = [
{id: 1, selected: false},
{id: 2, selected: false},
{id: 3, selected: false}
];
$scope.listTwo = [
{id: 4, color: orange},
{id: 5, color: blue},
{id: 2, color: green}
];
使用上述对象,如何比较它们并将 listOne[1].selected 更新为 true?
最佳答案
在这里,我试图循环遍历 listone 并检查 listtwo 中是否有这样的键,如果有,则使 listone 的选定属性为 true
这是用普通的 javascript 完成的
var listOne = [{
id: 1,
selected: false
}, {
id: 2,
selected: false
}, {
id: 3,
selected: false
}];
var listTwo = [{
id: 4,
color: "orange"
}, {
id: 5,
color: "blue"
}, {
id: 2,
color: "green"
}];
angular.forEach(listOne, function(value) {
for (var key in listTwo) {
if (listTwo[key]["id"] == value.id) {
value.selected = true;
}
}
});
console.log(listOne);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
希望这有帮助
关于javascript - 与对象数组进行比较并更新 Angular 中的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40510798/