一个js输出格式的奇葩需求?

作者站长头像
站长
· 阅读数 13

下面是拿到的数据,

let data={name:'寅春树',sex:"男",age:25,address:"中国洛阳"}

下面的是需要输出的文本格式 {name},{sex}{age}

文本格式是通过接口拿到的,我现在想输出以文本格式那样的格式,也就是寅春树,男25

我考虑用‘模板字符串’但发现不行,因为格式是接口后来拿到的,没办法直接用模板字符串,有大神有办法吗?文本格式预先不知道,是接口拿的,这只是一个格式,也可能是其它格式,这种情况下怎么按格式输出对应的值。

回复
1个回答
avatar
test
2024-09-07
let data = { name: '寅春树', sex: "男", age: 25, address: "中国洛阳" };
let str = '{name},{sex},{age}';
let result = str.replace(/\{(\w+)\}/g, (match, key) => {
  if (data.hasOwnProperty(key)) {
    return data[key];
  }
  return match;
});
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容