我在JavaScript中有两个表,我必须创建一个函数,它将采用两个输入数组并生成差异和顺序。我想要输出:
我的表格如[key,value]
var tab1= [];
for (var i = 1; i <= 10; i++) {
data.push({
key: i,
value: "valeur"+i
});
}
var tab2= [];
for (var i = 1; i <= 15; i++){
data.push({
key: i,
value:"valeur"+i
});
}
我这样做但是我没有取得好成绩:
for (var aa = 0; aa < tab1.length; aa++) {
var Find = false;
for (var bb = 0; bb < tab2.length; bb++) {
if (tab2[bb].name == $scope.properties.key_value_properties[aa].name) {
if (propertiesCible.key_value_properties[bb].value == tab1[aa].value) {
Find = true;
break;
}
}
}
if (Find == false) {
finalTab.push({name:tab1[aa].name, valueRef: tab1[aa].value, valueCible: tab1[aa].value});
}
finalTabDiff.push({name: tab1[aa].name, valueRef: tab1[aa].value, valueCible: tab2[aa].value});
}
答案 0 :(得分:0)
使用lodash.js库。
在两个对象上使用_.keys()来获取两个键数组。 然后_.difference()会将两个键数组减少为只包含不常见键的单个数组。