Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用angular.foreach比较两个javascript数组_Javascript_Angularjs - Fatal编程技术网

如何使用angular.foreach比较两个javascript数组

如何使用angular.foreach比较两个javascript数组,javascript,angularjs,Javascript,Angularjs,我有两个javascript对象 var obj1= { key1:'value1', key2:'value2' }; 及 正如您所看到的,在key2上两个对象都有一个区别,我想要一个角度foreach循环,它可以检查两个对象,并可以返回控制台消息“difference is at key2”。我已经尝试过angular foreach,但它不允许使用多个对象,所以我应该如何比较?请不要使用angular.foreach Java

我有两个javascript对象

    var obj1= {
           key1:'value1',
           key2:'value2'
    };


正如您所看到的,在
key2上两个对象都有一个区别,我想要一个角度foreach循环,它可以检查两个对象,并可以返回控制台消息“difference is at key2”。我已经尝试过angular foreach,但它不允许使用多个对象,所以我应该如何比较?

请不要使用angular.foreach

  • Javascript
    for
    更快
  • 您将无法使用break in angular.foreach


假设两个字典的键相同,请不要使用angular.foreach

  • Javascript
    for
    更快
  • 您将无法使用break in angular.foreach


假设两个字典都有相同的键..

在纯Javascript中,您可以使用一个

var obj1={key1:'value1',key2:'value2'},
obj2={key1:'value1',key2:'someOtherValue'},
map=新map();
Object.keys(obj1.forEach)(k=>map.set(k,obj1[k]);

Object.keys(obj2.forEach)(k=>map.get(k)!==obj2[k]&&console.log(k+'is different')在纯Javascript中,可以使用

var obj1={key1:'value1',key2:'value2'},
obj2={key1:'value1',key2:'someOtherValue'},
map=新map();
Object.keys(obj1.forEach)(k=>map.set(k,obj1[k]);

Object.keys(obj2.forEach)(k=>map.get(k)!==obj2[k]&&console.log(k+'is different')这里是带有angular foreach循环的纯angularjs代码

var keepGoing = true;
angular.forEach(obj1, function(value, key){
    angular.forEach(obj2, function(value2, key2){
        if(keepGoing) {
            if(value == value2){
                keepGoing = true;
            }
            else{
                console.log('Difference is at', key2)
                keepGoing = false;
            }
        }
    })
})

这是纯angularjs代码,带有AngularForeach循环

var keepGoing = true;
angular.forEach(obj1, function(value, key){
    angular.forEach(obj2, function(value2, key2){
        if(keepGoing) {
            if(value == value2){
                keepGoing = true;
            }
            else{
                console.log('Difference is at', key2)
                keepGoing = false;
            }
        }
    })
})

是否要比较同一个键的值?为什么是angular?可能重复:我已经在处理angular js,obj1来自数据库,obj2是用户输入我想逐字段检查差异不重复这个答案是针对数组的我想比较对象。你想比较同一个键的值吗?为什么是angular?可能重复:我已经在处理angular js,obj1来自数据库,obj2是用户输入,我想逐字段检查差异。这不是重复。这个答案是针对数组,我想比较对象。
var keepGoing = true;
angular.forEach(obj1, function(value, key){
    angular.forEach(obj2, function(value2, key2){
        if(keepGoing) {
            if(value == value2){
                keepGoing = true;
            }
            else{
                console.log('Difference is at', key2)
                keepGoing = false;
            }
        }
    })
})