Javascript 清除对象中不存在于具有lodash的其他对象中的所有属性
如何清除pk中不存在的datacopy的所有属性 我知道洛达斯的力量,也知道这是可能的 您可以使用从pk获取属性,然后从datacopy获取属性,以使用pk属性列表持久化键值Javascript 清除对象中不存在于具有lodash的其他对象中的所有属性,javascript,oop,object,lodash,Javascript,Oop,Object,Lodash,如何清除pk中不存在的datacopy的所有属性 我知道洛达斯的力量,也知道这是可能的 您可以使用从pk获取属性,然后从datacopy获取属性,以使用pk属性列表持久化键值 const _ = require('lodash'); ... datacopy = _.omit(datacopy, _.difference(_.keys(datacopy), _.keys(pk))) var result = _.pick(datacopy, _.keys(pk)); var数据副本
const _ = require('lodash');
...
datacopy = _.omit(datacopy, _.difference(_.keys(datacopy), _.keys(pk)))
var result = _.pick(datacopy, _.keys(pk));
var数据副本={
RHID:3,
NOME_REDZ:4455,
电子邮件:何塞。infante@demo5555.pt,
电子邮件:jose。infante@demo5555.pt,
远程移动1:351936090982,
DT_NASCIMENTO:0000-00-00,
结果:3,,
罗维德:3
};
var pk={
RHID:{
类型:数字
},
序号:{
类型:数字
}
};
var result=uu.pickdatacopy,uu.keyspk;
文件。书写;
纯javascript单行解决方案,无需任何“lodash”作为替代:
{
"RHID": "3"
}
输出:
在这种情况下,我想清除所有不是RHID或SEQ的内容,“本机”js解决方案如何?清除意味着删除或设置空字符串?删除是可以的。。。robertklep解决方案比我的更好=D你能帮我解决这个问题吗?
Object.keys(datacopy).forEach((k) => !pk[k] && delete datacopy[k]);
console.log(JSON.stringify(datacopy, 0, 4));
{
"RHID": "3"
}