如何用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
相关产品推荐
相关产品推荐

