在JavaScript中拼接数组时如何将元素中的Object对象转为字符串?
解决JavaScript数组转字符串包含对象元素的问题
直接使用join()方法处理包含对象的数组时,对象会被默认转为[object Object],无法得到你想要的JSON字符串格式。
你可以先通过map()方法遍历数组,对每个元素做类型判断,对象类型的元素先调用JSON.stringify()转为JSON字符串,再执行join()拼接即可。
完整代码示例:
const array = [ 'a', 'b', { name: 'John doe', age: 25 } ] // 处理逻辑 const convertedArray = array.map(item => { // 排除null的情况,因为typeof null返回值也是object if (typeof item === 'object' && item !== null) { // 如果你需要给对象字符串外层额外包裹双引号,可以改成 return `"${JSON.stringify(item)}"` return JSON.stringify(item) } return item }).join(' ') console.log(convertedArray) // 输出:a b {"name":"John doe","age":25}
如果需要和你给出的期望输出完全一致(对象外层多一层双引号),修改map里的返回值为"${JSON.stringify(item)}"即可,输出转义后与你提供的示例格式完全匹配。
内容的提问来源于stack exchange,提问作者Manoj Ghediya
相关产品推荐
相关产品推荐

