【发布时间】:2019-09-20 23:52:25
【问题描述】:
我有一个来自后端源的字符串,格式为:
数字:“1123763449056714753、1123764853364097024、1123770213739241473...”
我想将它转换为键值对某种形式,以便我可以为我的单个项目 div 映射这些 id:
["numbers": [
{"id":1123763449056714753 },
{"id":1123764853364097024 },
{"id":1123770213739241473 },
....
]
]
或
[ {"id":1123763449056714753 },
{"id":1123764853364097024 },
{"id":1123770213739241473 },
....
]
我尝试使用 forEach()/map(),但得到未定义的错误。另外我不确定它是字符串集合还是字符串数组 请帮忙
【问题讨论】:
-
考虑到整个变量是字符串。使用
let obj = JSON.parse('{' +str+'}'); obj.numbers = obj.numbers.split(',').map(id => ({id})) -
输入是逗号分隔的字符串还是标题中提到的字符串数组?此外,您的输出无效。请发布有效输入和预期输出以创建minimal reproducible example
-
object.numbers = object.numbers.split(',').map(i => { id: +i }。这个问题非常不清楚,并且不包含验证示例所需的最少信息量。请澄清它并添加您尝试过的内容。 -
另外,最好发布不能正常工作的代码。这有助于理解原始意图并给出更有用的答案。 (我同意前面两个cmets)。
-
在输出中,
id是数字类型。所有这些数字都大于Number.MAX_SAFE_INTEGER。因此,当字符串转换为数字时,它们将不再是相同的数字
标签: javascript foreach array.prototype.map