我可以按如下方式复制对象:
var myNew = Object.assign({}, old);
但是我该怎么做并删除旧的未定义属性?例如:
const old = {1:undefined, 2: "TWO"};
const myNew = {2:"TWO"};
答案 0 :(得分:1)
您可以手动将其删除:delete old['1']
或者为无限数量的密钥创建一种方法。
var old = prune(old);
function prune(obj) {
var newObj = Object.assign({}, old);
for(var key in newObj) {
if(newObj[key] === undefined) {
delete newObj[key];
}
}
return newObj;
}