我知道这是一个简单的问题...但我已经堆积了。我想将包含字符串的数组数组转换为包含对象的数组数组。
what_i_have = [
[
"{"point1":"recommendation number 1 text"}",
"{"point2":"recommendation number 2 text"}"
],
[
"{"point1":1.5}","{"ponit2":2}"
],
[
"{"point1":1.5}","{"point2":2}"
]
]
我想得到这个:
what_i_want = [
[
{"point1":"recommendation number 1 text"},
{"point2":"recommendation number 2 text"}
],
[
{"point1":1.5},{"ponit2":2}
],
[
{"point1":1.5},{"point2":2}
]
]
我试过几种方法。使用JSON.parse()数组元素的最后一种方法。但总有一些事情我做错了。
任何建议都将是真正受欢迎的。提前谢谢!
答案 0 :(得分:0)
我认为Array.prototype.map就是你想要的,即
what_i_want = what_i_have.map(arr => arr.map(str => JSON.parse(str)))
代码示例中的"
存在一些问题,但忽略map
应该执行您想要的操作。
答案 1 :(得分:0)
像这样使用JSON.parse
和map
:
var result = what_i_have.map(function(subarr) {
return subarr.map(function(str) {
return JSON.parse(str);
});
});
答案 2 :(得分:0)
使用JSON.parse
进行循环
what_i_have = [
[
'{"point1":"recommendation number 1 text"}', '{"point2":"recommendation number 2 text"}'
],
[
'{"point1":1.5}', '{"ponit2":2}'
],
[
'{"point1":1.5}', '{"point2":2}'
]
]
for (var i = 0; i < what_i_have.length; i++) {
var arr = what_i_have[i];
for (var j = 0; j < arr.length; j++) {
arr[j] = JSON.parse(arr[j]);
}
}
console.log(what_i_have);