Javascript 尝试更改/匹配JSON对象
我想我不应该在这方面遇到麻烦,但我是。我试图切换JSON对象的语法/变量以匹配特定参数 以下是我正在使用的JSON:Javascript 尝试更改/匹配JSON对象,javascript,json,node.js,Javascript,Json,Node.js,我想我不应该在这方面遇到麻烦,但我是。我试图切换JSON对象的语法/变量以匹配特定参数 以下是我正在使用的JSON: { "name":"BHPhotovideo", "prices":[ { "price":"799.00", "createdAt":"2017-07-23T16:17:11.000Z", "updatedAt":"2017-07-23T17:21:41.000Z" },
{
"name":"BHPhotovideo",
"prices":[
{
"price":"799.00",
"createdAt":"2017-07-23T16:17:11.000Z",
"updatedAt":"2017-07-23T17:21:41.000Z"
},
{
"price":"770.00",
"createdAt":"2017-07-21T16:17:11.000Z",
"updatedAt":"2017-07-23T16:17:11.000Z"
},
{
"price":"599.00",
"createdAt":"2017-07-19T16:17:11.000Z",
"updatedAt":"2017-07-22T16:17:11.000Z"
},
{
"price":"920.00",
"createdAt":"2017-07-22T16:17:11.000Z",
"updatedAt":"2017-07-22T16:17:11.000Z"
}
]
},
etc...
我只是想把数据格式化成这样:
{
"label":"BHPhotoVideo", // Same as name
"data":[
{
"x":"2017-07-23T16:17:11.000Z", // Same as createdAt
"y":799 // Same as price
},
{
"x":"2017-07-21T16:17:11.000Z",
"y":770
},
{
"x":"2017-07-19T16:17:11.000Z",
"y":599
},
{
"x":"2017-07-22T16:17:11.000Z",
"y":920
}
]
},
etc...
这些对象的数量是动态的/可能会发生变化,我一直在把foreach循环弄得一团糟,并试图将其拼凑起来。我总是犯错误,最好的方法是什么 这个怎么样
data.map(
(item) => ({
"label":"BHPhotoVideo", // Same as name
"data": item.prices.map(nested => ( {
"x":nested.createdAt,
"y":nested.price
}))
})
)
这个怎么样
data.map(
(item) => ({
"label":"BHPhotoVideo", // Same as name
"data": item.prices.map(nested => ( {
"x":nested.createdAt,
"y":nested.price
}))
})
)
您希望y值是整数吗
var-ar=[
{
“名称”:“BHPhotovideo”,
“价格”:[
{
“价格”:“799.00”,
“createdAt”:“2017-07-23T16:17:11.000Z”,
“更新日期”:“2017-07-23T17:21:41.000Z”
},
{
“价格”:“770.00”,
“createdAt”:“2017-07-21T16:17:11.000Z”,
“更新日期”:“2017-07-23T16:17:11.000Z”
},
{
“价格”:“599.00”,
“createdAt”:“2017-07-19T16:17:11.000Z”,
“更新日期”:“2017-07-22T16:17:11.000Z”
},
{
“价格”:“920.00”,
“createdAt”:“2017-07-22T16:17:11.000Z”,
“更新日期”:“2017-07-22T16:17:11.000Z”
}
]
},
{
“姓名”:“Adorama”,
“价格”:[
{
“价格”:“799.00”,
“createdAt”:“2017-07-22T16:17:11.000Z”,
“更新日期”:“2017-07-23T17:21:41.000Z”
},
{
“价格”:“799.00”,
“createdAt”:“2017-07-20T16:17:11.000Z”,
“更新日期”:“2017-07-23T16:17:11.000Z”
},
{
“价格”:“810.00”,
“createdAt”:“2017-07-18T16:17:11.000Z”,
“更新日期”:“2017-07-22T16:17:11.000Z”
},
{
“价格”:“799.00”,
“createdAt”:“2017-07-17T16:17:11.000Z”,
“更新日期”:“2017-07-22T16:17:11.000Z”
}
]
}
];
var out=ar.map(函数(a){
返回{
“标签”:一个名字,
“prices”:a.prices.map(函数(aa){return{x:aa.createdAt,y:aa.price}})
}
});
控制台。注销代码>是否希望y值为整数
var-ar=[
{
“名称”:“BHPhotovideo”,
“价格”:[
{
“价格”:“799.00”,
“createdAt”:“2017-07-23T16:17:11.000Z”,
“更新日期”:“2017-07-23T17:21:41.000Z”
},
{
“价格”:“770.00”,
“createdAt”:“2017-07-21T16:17:11.000Z”,
“更新日期”:“2017-07-23T16:17:11.000Z”
},
{
“价格”:“599.00”,
“createdAt”:“2017-07-19T16:17:11.000Z”,
“更新日期”:“2017-07-22T16:17:11.000Z”
},
{
“价格”:“920.00”,
“createdAt”:“2017-07-22T16:17:11.000Z”,
“更新日期”:“2017-07-22T16:17:11.000Z”
}
]
},
{
“姓名”:“Adorama”,
“价格”:[
{
“价格”:“799.00”,
“createdAt”:“2017-07-22T16:17:11.000Z”,
“更新日期”:“2017-07-23T17:21:41.000Z”
},
{
“价格”:“799.00”,
“createdAt”:“2017-07-20T16:17:11.000Z”,
“更新日期”:“2017-07-23T16:17:11.000Z”
},
{
“价格”:“810.00”,
“createdAt”:“2017-07-18T16:17:11.000Z”,
“更新日期”:“2017-07-22T16:17:11.000Z”
},
{
“价格”:“799.00”,
“createdAt”:“2017-07-17T16:17:11.000Z”,
“更新日期”:“2017-07-22T16:17:11.000Z”
}
]
}
];
var out=ar.map(函数(a){
返回{
“标签”:一个名字,
“prices”:a.prices.map(函数(aa){return{x:aa.createdAt,y:aa.price}})
}
});
控制台。注销
在返回已更改对象的原始数组上映射
;使用map
返回名称和新数组
const obj2 = obj.map((item) => {
return {
label: item.name,
data: item.prices.map((data) => {
return {
x: data.createdAt,
y: data.price
}
})
}
});
将
映射到返回更改对象的原始数组上;使用map
返回名称和新数组
const obj2 = obj.map((item) => {
return {
label: item.name,
data: item.prices.map((data) => {
return {
x: data.createdAt,
y: data.price
}
})
}
});
向我们展示您的尝试。这是一个非常简单的转换,可能会重复您的尝试。这是一个非常简单的转换,可能是Wow的复制,数据映射是一件事。不知道我怎么会错过。这是完美的,对它做了一点修改,非常适合我的应用。谢谢哇,数据映射是一件事。不知道我怎么会错过。这是完美的,对它做了一点修改,非常适合我的应用。谢谢