Javascript 删除对象中的重复元素并保留唯一元素

Javascript 删除对象中的重复元素并保留唯一元素,javascript,object,lodash,Javascript,Object,Lodash,我有两个目标: obj1 { "uuid": "", "open_bal_qty": 0, "open_bal_value": 0, "qty_min": 0, "qty_med": 0, "qty_max": 0, "kedai_uuid": "198ceaef-4ced-4207-9ba0-62afbb42bb85" } obj2 { "uuid": "", "open_bal_qty": 0, "open_bal_value": 0, "ked

我有两个目标:

obj1

{
  "uuid": "",
  "open_bal_qty": 0,
  "open_bal_value": 0,
  "qty_min": 0,
  "qty_med": 0,
  "qty_max": 0,
  "kedai_uuid": "198ceaef-4ced-4207-9ba0-62afbb42bb85"
}
obj2

{
  "uuid": "",
  "open_bal_qty": 0,
  "open_bal_value": 0,
  "kedai_uuid": "198ceaef-4ced-4207-9ba0-62afbb42bb85"
}
如何删除不存在于
obj2
中的复制和获取元素,以便我的新obj将是:

newObj

{
  "qty_min": 0,
  "qty_med": 0,
  "qty_max": 0,
}
我可以使用lodash
pick
,但我不想手动输入要筛选的密钥名

const newObj = pick(obj1, [
  'qty_min',
  'qty_med',
  'qty_max',
]);

提前感谢。

您可以通过查找两个对象关键点之间的差异并拾取这些关键点,将
与一起使用

const obj1={
“uuid”:“,
“未结余额数量”:0,
“未清余额”:0,
“最小数量”:0,
“数量”:0,
“最大数量”:0,
“kedai_uuid”:“198ceaef-4ced-4207-9ba0-62afbb42bb85”
};
常数obj2={
“uuid”:“,
“未结余额数量”:0,
“未清余额”:0,
“kedai_uuid”:“198ceaef-4ced-4207-9ba0-62afbb42bb85”
};
常量obj1Keys=u0.keys(obj1)//或对象键
常量obj2Keys=u0.keys(obj2);
console.log(j1;.pick(obj1Keys>obj2Keys?obj1:obj2,j1.difference(obj1Keys,obj2Keys)))

您可以通过查找两个对象关键点之间的差异并拾取这些关键点,将
与一起使用

const obj1={
“uuid”:“,
“未结余额数量”:0,
“未清余额”:0,
“最小数量”:0,
“数量”:0,
“最大数量”:0,
“kedai_uuid”:“198ceaef-4ced-4207-9ba0-62afbb42bb85”
};
常数obj2={
“uuid”:“,
“未结余额数量”:0,
“未清余额”:0,
“kedai_uuid”:“198ceaef-4ced-4207-9ba0-62afbb42bb85”
};
常量obj1Keys=u0.keys(obj1)//或对象键
常量obj2Keys=u0.keys(obj2);
console.log(j1;.pick(obj1Keys>obj2Keys?obj1:obj2,j1.difference(obj1Keys,obj2Keys)))

使用
for..in
迭代对象,并使用
对象.hasOwnProperty
检查第二个对象是否具有相同的键

var obj1={
“uuid”:“,
“未结余额数量”:0,
“未清余额”:0,
“最小数量”:0,
“数量”:0,
“最大数量”:0,
“kedai_uuid”:“198ceaef-4ced-4207-9ba0-62afbb42bb85”
}
变量obj2={
“uuid”:“,
“未结余额数量”:0,
“未清余额”:0,
“kedai_uuid”:“198ceaef-4ced-4207-9ba0-62afbb42bb85”
}
var newObj={};
用于(obj1中的var键){
如果(!obj2.hasOwnProperty(键)){
newObj[keys]=obj1[keys]
}
}

console.log(newObj)
使用
for..in
迭代对象,并使用
对象.hasOwnProperty
检查第二个对象是否具有相同的键

var obj1={
“uuid”:“,
“未结余额数量”:0,
“未清余额”:0,
“最小数量”:0,
“数量”:0,
“最大数量”:0,
“kedai_uuid”:“198ceaef-4ced-4207-9ba0-62afbb42bb85”
}
变量obj2={
“uuid”:“,
“未结余额数量”:0,
“未清余额”:0,
“kedai_uuid”:“198ceaef-4ced-4207-9ba0-62afbb42bb85”
}
var newObj={};
用于(obj1中的var键){
如果(!obj2.hasOwnProperty(键)){
newObj[keys]=obj1[keys]
}
}
console.log(newObj)
使用lodash,您可以从
obj1
所有
obj2

const obj1={“uuid”:“未清余额数量”:0,“未清余额价值”:0,“最小数量”:0,“最大数量”:0,“最大数量”:0,“kedai uuid”:“198ceaef-4ced-4207-9ba0-62afbb42bb85”;
const obj2={“uuid”:“,”未清余额数量:0,“未清余额”值:0,“kedai_uuid”:“198ceaef-4ced-4207-9ba0-62afbb42bb85”};
const newObj=uj.omit(obj1,j.keys(obj2));
console.log(newObj)
使用lodash,您可以从
obj1
所有
obj2

const obj1={“uuid”:“未清余额数量”:0,“未清余额价值”:0,“最小数量”:0,“最大数量”:0,“最大数量”:0,“kedai uuid”:“198ceaef-4ced-4207-9ba0-62afbb42bb85”;
const obj2={“uuid”:“,”未清余额数量:0,“未清余额”值:0,“kedai_uuid”:“198ceaef-4ced-4207-9ba0-62afbb42bb85”};
const newObj=uj.omit(obj1,j.keys(obj2));
console.log(newObj)

您可以在两个对象的键上使用
差异(数组,[value])
,并在拾取函数中使用。您可以在两个对象的键上使用
差异(数组,[value])
,在拾取函数中使用它。小心…如果obj2具有唯一属性则不起作用小心…如果obj2具有唯一属性则不起作用