如何清除datacopy
pk
的所有属性
var datacopy={
"RHID": "3",
"NOME_REDZ": "4455",
"EMAIL": "jose.infante@demo5555.pt",
"EMAIL_PESSOAL": "jose.infante@demo5555.pt",
"TELEMOVEL_1": "(351) 936 090 982",
"DT_NASCIMENTO": "0000-00-00",
"rhidwf": "3",
"DT_RowId": "3"
}
var pk={
"RHID": {
"type": "numeric"
},
"SEQ"{
"type": "numeric"
}
}
我知道lodash的力量并且知道这是可能的。
答案 0 :(得分:2)
您可以使用keys()从FB.Init()
获取属性,然后从pk
获取pick()属性,以使用datacopy
属性列表保留关键值。< / p>
pk
var result = _.pick(datacopy, _.keys(pk));
var datacopy = {
"RHID": "3",
"NOME_REDZ": "4455",
"EMAIL": "jose.infante@demo5555.pt",
"EMAIL_PESSOAL": "jose.infante@demo5555.pt",
"TELEMOVEL_1": "(351) 936 090 982",
"DT_NASCIMENTO": "0000-00-00",
"rhidwf": "3",
"DT_RowId": "3"
};
var pk = {
"RHID": {
"type": "numeric"
},
"SEQ": {
"type": "numeric"
}
};
var result = _.pick(datacopy, _.keys(pk));
document.write('<pre>' + JSON.stringify(result, 0, 4) + '</pre>');
答案 1 :(得分:1)
const _ = require('lodash');
...
datacopy = _.omit(datacopy, _.difference(_.keys(datacopy), _.keys(pk)))
答案 2 :(得分:0)
&#34;纯&#34;没有任何&#39; lodash&#39;(作为替代方案)的javascript单行解决方案:
Object.keys(datacopy).forEach((k) => !pk[k] && delete datacopy[k]);
console.log(JSON.stringify(datacopy, 0, 4));
输出:
{
"RHID": "3"
}