如何遍历JSON对象中的数组字段并转为;加换行分隔的单字符串
问题解决方法
你的代码只完成了将原嵌套对象转为数组的逻辑,没有对regions数组做拼接处理,所以输出仍为数组类型。可以使用数组的join()方法,指定分隔符为;\n,直接将数组拼接为符合要求的字符串,修改后的代码如下:
import data from '../data/table.json' const processedData = Object.values(data).map(item => { return { ...item, // 拼接regions数组为指定格式字符串 regions: item.regions.join(';\n') } }) console.log(processedData)
如果需要避免修改原数据的引用,可保留原有的深拷贝逻辑,修改后代码如下:
import data from '../data/table.json' // 深拷贝避免修改原导入的JSON数据 const copyData = JSON.parse(JSON.stringify(data)) const processedData = Object.values(copyData).map(item => { return { ...item, regions: item.regions.join(';\n') } }) console.log(processedData)
代码说明
- 用
Object.values(data)直接获取原对象所有属性值,不需要手动遍历数字索引,兼容性更强 - 用
map遍历每一项数据,解构保留其他原有字段,仅修改regions字段 join(';\n')会自动按照指定分隔符拼接数组所有元素,数组长度不同也能正确处理,不需要额外做边界判断
内容的提问来源于stack exchange,提问作者hisam
相关产品推荐
相关产品推荐

