如何让数组元素以单独引号显示?代码返回结果不符求助
问题排查与解决方案
首先纠正一个点:你贴的代码本身执行后返回的是数字数组 [7, 1],而非你描述的 ["7,1"]。出现 ["7,1"] 这种单元素字符串数组,肯定是你对map结果做了额外的错误操作(比如把数组拼接成字符串后再塞进数组)。
要得到目标数组 ["7","1"],直接在map过程中把id转为字符串即可,有几种写法:
- 最简洁的写法:
this.user = [{id: 7, name: 'Jack'}, {id: 1, name: 'James'}] const targetArr = this.user.map(item => String(item.id))
- 其他等价写法:
// 使用toString()方法 const targetArr = this.user.map(item => item.id.toString()) // 使用模板字符串 const targetArr = this.user.map(item => `${item.id}`)
为什么会得到["7,1"]?
大概率是你不小心写了类似下面的错误代码:
// 错误示例:把数组拼接成字符串后作为单个元素放进数组 const wrongArr = [this.user.map(item => item.id).join(',')]
这段代码会先把[7,1]拼接成字符串"7,1",再塞进数组,最终得到["7,1"]。检查你的代码逻辑,去掉多余的join(',')和外层数组包裹即可。
内容的提问来源于stack exchange,提问作者user12763413
相关产品推荐
相关产品推荐

