如何使用angular.foreach比较两个javascript数组
how to compare two javascript array using angular.foreach
我有两个javascript对象
var obj1= {
key1:'value1',
key2:'value2'
};
和
var obj2= {
key1:'value1',
key2:'someOtherValue'
};
正如你所看到的,在key2
有一个差异b/w两个对象,我想要一个有角度的foreach循环,它可以检查两个对象,并可以返回控制台消息"差异是在key2"。我已经尝试过角foreach,但它不允许多个对象,所以我应该如何比较?
不要使用angular.foreach。
- Javascript
for
更快。 - 不能在angular.foreach中使用break。
var diffs = [];
for (var key in obj1) {
if obj1[key] !== obj2[key]{
diffs.append([key]);
}
}
console.log(diffs)
假设两个字典有相同的键…
在普通Javascript中,您可以使用Map
。
var obj1 = { key1: 'value1', key2: 'value2' },
obj2 = { key1: 'value1', key2: 'someOtherValue' },
map = new 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;
}
}
})
})
相关文章:
- 组合两个javascript函数
- 比较包含多个值对的两个JavaScript数组
- 为什么这两个JavaScript函数调用具有相同的“;这个“;价值
- 无法延迟iPhone/iPad上的两个JavaScript操作
- 比较IF条件下的两个javascript数值
- 我可以在两个javascript文件之间传递一个字符串吗?
- 为标记调用href中的两个javascript函数
- 如何执行两个javascript函数
- 两个javascript网络工作者连续打印输出-为什么不同时打印呢
- 如何手动绑定两个javascript文件
- 两个javascript脚本的非独立性
- 合并两个Javascript数组,一次合并三个元素
- 为同一标记中的两个不同事件调用两个javascript方法
- 将两个Javascript函数组合到一个窗口中.nload不起作用
- 结合两个JavaScript函数
- IE可以同时执行两个JavaScript函数吗?
- 两个 JavaScript 文件,哪个方法首先调用
- 在 html 中的两个 JavaScript 之间传递值
- 两个 JavaScript 对象具有相同的属性实现方式,但原型不同
- 如何将两个Javascript函数合二为一