我有这样一个json:
{
"status": 1,
"message": "ok",
"data": [
{
"tenor": "23"
},
{
"tenor": "17"
},
{
"tenor": "37"
},
{
"tenor": "27,29"
},
{
"tenor": "33,35"
}
]
}
我希望结果是这样的:
{ "status": 1, "message": "ok", "data": [ { "tenor": "23" }, { "tenor": "17" }, { "tenor": "37" }, { "tenor": "27" }, { "tenor": "29" }, { "tenor": "33" }, { "tenor": "35" } ] }
我试过的:
var arrayCoba = [];
var array1 = { "status": 1, "message": "ok", "data": [ { "tenor": "23" }, { "tenor": "17" }, { "tenor": "37" }, { "tenor": "27,29" }, { "tenor": "33,35" } ] }
for(var i = 0; i<array1.data.length; i++){
var string = array1.data[i].tenor;
var substring = ",";
if(string.includes(substring) == true){
var tenor = array.data[i].tenor;
var tenorArr = tenor.split(',');
var dataTenor = tenorArr.map(tenor => ({ tenor }));
arrayCoba.push(dataTenor);
}
}
var dataHasil = array1.data.concat(arrayCoba);
return res.json({status:1,message:'ok',data:dataHasil});
但我得到的结果是:
{
"status": 1,
"message": "ok",
"data": [
{
"tenor": "23"
},
{
"tenor": "17"
},
{
"tenor": "37"
},
{
"tenor": "27,29"
},
{
"tenor": "33,35"
},
[
{
"tenor": "27"
},
{
"tenor": "29"
}
],
[
{
"tenor": "33"
},
{
"tenor": "35"
}
]
]
}
有人能帮我吗?谢谢您。。
最佳答案
var dataTenor = tenorArr.map(tenor => ({ tenor }));
返回tenor对象数组。arrayCoba.push(dataTenor);
将数组添加到其他数组中,这样就可以得到数组中的数组。
使用spread operator>arrayCoba.push(...dataTenor);
for (var i = 0; i < array1.data.length; i++) {
var string = array1.data[i].tenor;
var substring = ",";
if (string.includes(substring) == true) {
var tenor = array1.data[i].tenor;
var tenorArr = tenor.split(',');
var dataTenor = tenorArr.map(tenor => ({
tenor
}));
arrayCoba.push(...dataTenor);
} else {
arrayCoba.push(array1.data[i]);
}
}
var dataHasil = arrayCoba;
更新:另一种使用map操作符的方法。
var substring = ',';
var copyDataTenors = array1.data;
var arrayCoba = "".concat(copyDataTenors
.map(obj => obj.tenor))
.split(substring)
.map(tenorString => ({
'tenor': tenorString
}))
var dataHasil = arrayCoba;
关于arrays - 如何从1个字符串更改 Node js中的格式数组成为另一个对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58011187/