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

如何按自定义顺序拼接对象中存在的字符串值?

解决方案

你原来的方案没法直接修改来实现自定义顺序,得换个思路——先把你需要的字段顺序做成一个数组,再基于这个数组筛选非空值并拼接,具体步骤如下:

  1. 定义你想要的字段顺序数组:
const desiredOrder = ['company', 'buildingName', 'streetName', 'townCity', 'county', 'postCode'];
  1. 遍历这个数组,过滤掉值为空字符串的字段,提取对应的值后拼接:
const address = {
  buildingName: '',
  company: 'My org',
  county: 'My County',
  postCode: 'My Postcode',
  streetName: 'My street',
  townCity: 'My Town'
};

const formattedAddress = desiredOrder
  .filter(key => address[key] !== '') // 过滤空值字段
  .map(key => address[key]) // 提取对应的值
  .join(', ');

console.log(formattedAddress); // 输出:My org, My street, My Town, My County, My Postcode

为什么原来的方案不行?

Object.keys(address)返回的是对象键的默认顺序(此处为字母排序),没法强制改成你需要的自定义顺序,所以必须基于预先定义的顺序数组来处理,才能保证输出顺序完全符合要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 12:28:20