我有2个数组存储在arr1和arr2
中var arr1 = [
{
"status": 4,
"id": 1
},
{
"status": 2,
"id": 2
},
{
"status": 1,
"id": 3
}];
var arr2 = [{
"status": 4,
"id": 1
},
{
"status": 2,
"id": 2
},
{
"status": 4,
"id": 3
}];
使用angular.equals(arr1,arr2)来检查2个数组是否相同但是当arr2中的状态发生变化时,我如何从arr2中获取相应的id。
答案 0 :(得分:1)
这将为您提供包含具有不同状态值的元素的ID的数组。
var elementsChanged = arr1.map((val, idx) => {
if (val.status !== arr2[idx].status)
return arr2[idx].id
})
答案 1 :(得分:1)
您需要先将arr2
放入$ scope中,然后在数据上设置$watch
以检测确切的ID更改。
$scope.$watch('arr2', function(newValue, oldValue){.//iterate and detect your id change..}, true);