如何删除JavaScript对象中的空字符串属性?
解决JavaScript对象中空字符串键的删除问题
方法1:直接用delete操作符删除目标键
因为你明确知道要移除的键是"",直接定位删除最省事:
const obj = {tecnico2: 1.1, "": 0, tecnico4: 5, tecnico1: 3, tecnico3: 3}; delete obj[""]; console.log(obj); // 输出 {tecnico2: 1.1, tecnico4: 5, tecnico1: 3, tecnico3: 3}
方法2:生成新对象过滤空字符串键
如果需要保留原对象,或者不确定是否有多个空字符串键,可以通过过滤键来创建新对象:
const obj = {tecnico2: 1.1, "": 0, tecnico4: 5, tecnico1: 3, tecnico3: 3}; const filteredObj = Object.fromEntries( Object.entries(obj).filter(([key]) => key !== "") ); console.log(filteredObj); // 得到目标结果
这种方式不会修改原对象,适合需要保留原始数据的场景。
方法3:遍历删除(兼容旧环境)
如果你的代码要兼容不支持Object.entries()的旧浏览器,用for...in循环遍历删除:
const obj = {tecnico2: 1.1, "": 0, tecnico4: 5, tecnico1: 3, tecnico3: 3}; for (const key in obj) { // 加上hasOwnProperty避免遍历原型链上的属性 if (obj.hasOwnProperty(key) && key === "") { delete obj[key]; } } console.log(obj);
内容的提问来源于stack exchange,提问作者Dany S
相关产品推荐
相关产品推荐

