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

如何用Object.values()提取值并过滤null、undefined及空值?

移除Object.values()结果中的null、undefined及空值的实现方式

你可以在Object.values()之后链式调用数组的filter()方法,通过精准条件过滤掉不需要的元素。以下是针对你代码的完整实现:

const address = {
  stateProvince: null,
  streetAddress: '15900 Valley View Ct',
  streetAddress2: 'TF2',
  streetAddress3: '2',
  city: 'Sylmar',
  zipCode: '91342',
  countryCd: 140,
  stateCd: 75,
  emptyStr: '', // 新增空字符串示例
  undefinedVal: undefined // 新增undefined示例
};

const values = Object.values(address).filter(value => {
  // 排除null和undefined
  if (value == null) return false;
  // 排除空字符串
  if (value === '') return false;
  // 保留其他有效值
  return true;
});

console.log(values); 
// 输出: ['15900 Valley View Ct', 'TF2', '2', 'Sylmar', '91342', 140, 75]

过滤条件说明

  • value == null:利用null和undefined在非严格相等下的特性,一次性排除这两个值。
  • value === '':精准排除空字符串,避免误过滤数字0、字符串'0'这类有效数据。

若想简化写法,也可将条件合并为一行:

const values = Object.values(address).filter(value => value != null && value !== '');

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 00:35:27