如何将JavaScript字典键值对转换为key=value;格式的字符串?
字典转指定格式字符串的正确写法
你需要把键值对字典转换成'key1=value1;key2=value2;...'格式的字符串,比如给定示例:
const data = { "amount": "12185", "job": "GAPA", "month": "JANUARY", "year": "2010" };
目标输出是'amount=12185;job=GAPA;month=JANUARY;year=2010',但你写的两种写法都没达到效果,问题出在这些地方:
- 第一种写法里,
Object.entries()返回的是[key, value]格式的数组,但你把参数写成了(keys, values),顺序和结构都错了;而且map里用了console.log,这会让map返回的数组全是undefined,自然拼不出正确结果。 - 第二种写法用
Object.keys()遍历键,但map的第二个参数是索引值,不是对应的值,所以你拿不到每个键对应的value,拼接出来的内容肯定不对。
正确写法一:用Object.entries()
const data = { "amount": "12185", "job": "GAPA", "month": "JANUARY", "year": "2010" }; const result = Object.entries(data).map(([key, value]) => `${key}=${value}`).join(';'); console.log(result);
通过解构[key, value]直接拿到键和值,map返回每个key=value的字符串,最后用join(';')拼接成目标格式。
正确写法二:用Object.keys()
const data = { "amount": "12185", "job": "GAPA", "month": "JANUARY", "year": "2010" }; const result = Object.keys(data).map(key => `${key}=${data[key]}`).join(';'); console.log(result);
遍历所有键,通过data[key]获取对应的值,再拼接成字符串后用join组合。
内容的提问来源于stack exchange,提问作者Dollar Tune-bill
相关产品推荐
相关产品推荐

