You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现对象属性值缺失时显示双下划线__?

解决对象空属性值替换为__的问题

你的代码存在几个关键错误,导致无法实现需求:

  • 对象没有length属性,for循环的条件i < obj.length永远不成立,循环根本不会执行
  • 代码里的values是未定义变量,导致属性访问逻辑完全错误
  • 错误使用return语句,一旦触发条件就直接终止函数,无法处理所有属性
  • 条件判断objects[values] === object[values] == ''逻辑混乱,不符合空值判断的需求

下面给出两种符合需求的实现方式:

方式一:返回处理后的属性值数组

如果只需要输出处理后的属性值列表,可以用Object.values配合map方法快速处理:

function findAddress(obj){
  return Object.values(obj).map(val => val === '' ? '__' : val);
}

const output = {street : 10, house : '', society : 'Earth Perfect'};
const res = findAddress(output);
console.log(res); // 输出: [10, '__', 'Earth Perfect']

方式二:返回保留键的处理后对象

如果需要保留原对象的键结构,同时替换空值:

function findAddress(obj){
  const processedObj = {};
  for(const key in obj){
    processedObj[key] = obj[key] === '' ? '__' : obj[key];
  }
  return processedObj;
}

const output = {street : 10, house : '', society : 'Earth Perfect'};
const res = findAddress(output);
console.log(res); // 输出: {street: 10, house: '__', society: 'Earth Perfect'}

这两种方式都会遍历对象的所有属性值,将空字符串''替换为__,其他值保持不变,完全满足你的需求。

内容的提问来源于stack exchange,提问作者Suvo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 02:57:45