使用JS通过reduce方法提取对象数组ID为独立单行字符串
问题原因
你当前的reduce逻辑已经正确把所有ID提取到了listIds数组中,不符合预期是输出环节的问题:
- 扩展运算符
...listIds相当于给console.log传了3个独立参数,console.log默认会把多个参数用空格分隔后输出在同一行 toString()方法会把数组转换为逗号分隔的单字符串,所以输出是逗号拼接的格式
解决方案
方案1:遍历数组逐行打印(最通用,适合需要单独使用每个ID的场景)
listIds.forEach(id => console.log(id))
方案2:用换行符拼接后一次性输出
console.log(listIds.join('\n'))
优化建议
这种一对一提取数组元素属性的场景,用map方法比reduce写法更简洁直观:
const listIds = listItems.map(item => item.sys.id)
内容的提问来源于stack exchange,提问作者x-ray
相关产品推荐
相关产品推荐

