从 JavaScript 中的对象中删除空白属性
很多时候,在处理对象时,有必要删除所有未定义或 null 的属性。这有助于维护数据完整性并防止访问属性时出现错误。
ES10/ES2019 解决方案
// Return a new object without blank attributes let o = Object.fromEntries(Object.entries(obj).filter(([_, v]) => v != null));
// Mutate the object in place (not recommended) Object.keys(obj).forEach((k) => obj[k] == null && delete obj[k]);
ES6/ES2015解决方案
// Return a new object with blanks removed let o = Object.keys(obj) .filter((k) => obj[k] != null) .reduce((a, k) => ({ ...a, [k]: obj[k] }), {});
// Mutate the object in place (not recommended) Object.keys(obj) .filter((k) => obj[k] != null) .forEach((k) => delete obj[k]);
ES5/ES2009 解决方案
function removeEmpty(obj) { const newObj = {}; for (let prop in obj) { if (obj.hasOwnProperty(prop) && obj[prop] != null) { newObj[prop] = obj[prop]; } } return newObj; }
以上是如何有效地从 JavaScript 对象中删除 Null 或未定义的属性?的详细内容。更多信息请关注PHP中文网其他相关文章!