如何使用下划线js转换这些数据
How can I transform this data using underscore js?
我有一些数据是从REST API返回给我的。我希望它在我的Angular 2应用程序的特定格式。
如何使用下划线js执行以下数据转换?
从REST API返回的数据:
[
{
"ProductVariantID": "133",
"ProductID": "259",
"ProductGender": "Male",
"Size": "17.5",
"Color": "Red",
"MSRP": "0",
"MAP": "0",
"UPC": "99999106"
},
{
"ProductVariantID": "128",
"ProductID": "259",
"ProductGender": "Male",
"Size": "17.5",
"Color": "Blue",
"MSRP": "0",
"MAP": "0",
"UPC": "99999101"
},
{
"ProductVariantID": "130",
"ProductID": "259",
"ProductGender": "Male",
"Size": "19.5",
"Color": "Blue",
"MSRP": "0",
"MAP": "0",
"UPC": "99999103"
},
{
"ProductVariantID": "129",
"ProductID": "259",
"ProductGender": "Male",
"Size": "18.5",
"Color": "Blue",
"MSRP": "0",
"MAP": "0",
"UPC": "99999102"
},
{
"ProductVariantID": "132",
"ProductID": "259",
"ProductGender": "Male",
"Size": "15.5",
"Color": "Red",
"MSRP": "0",
"MAP": "0",
"UPC": "99999105"
},
{
"ProductVariantID": "131",
"ProductID": "259",
"ProductGender": "Male",
"Size": "21.5",
"Color": "Blue",
"MSRP": "0",
"MAP": "0",
"UPC": "99999104"
},
{
"ProductVariantID": "127",
"ProductID": "259",
"ProductGender": "Male",
"Size": "15.5",
"Color": "Blue",
"MSRP": "0",
"MAP": "0",
"UPC": "99999100"
}
]
我想把它转换成以下内容。请注意,顶级数组是根据其对象的"Color"属性按字母顺序排序的,Variants数组是根据对象的"Size"属性按数字排序的。本质上,我想要一个新的对象数组,按颜色分组,并在"Variants"数组属性中包含原始对象。
期望输出:
[
{
"Color": "Blue",
"Variants": [
{
"ProductVariantID": "127",
"ProductID": "259",
"ProductGender": "Male",
"Size": "15.5",
"Color": "Blue",
"MSRP": "0",
"MAP": "0",
"UPC": "99999100"
},
{
"ProductVariantID": "128",
"ProductID": "259",
"ProductGender": "Male",
"Size": "17.5",
"Color": "Blue",
"MSRP": "0",
"MAP": "0",
"UPC": "99999101"
},
{
"ProductVariantID": "129",
"ProductID": "259",
"ProductGender": "Male",
"Size": "18.5",
"Color": "Blue",
"MSRP": "0",
"MAP": "0",
"UPC": "99999102"
},
{
"ProductVariantID": "130",
"ProductID": "259",
"ProductGender": "Male",
"Size": "19.5",
"Color": "Blue",
"MSRP": "0",
"MAP": "0",
"UPC": "99999103"
},
{
"ProductVariantID": "131",
"ProductID": "259",
"ProductGender": "Male",
"Size": "21.5",
"Color": "Blue",
"MSRP": "0",
"MAP": "0",
"UPC": "99999104"
}
],
}
{
"Color": "Red",
"Variants": [
{
"ProductVariantID": "132",
"ProductID": "259",
"ProductGender": "Male",
"Size": "15.5",
"Color": "Red",
"MSRP": "0",
"MAP": "0",
"UPC": "99999101"
},
{
"ProductVariantID": "133",
"ProductID": "259",
"ProductGender": "Male",
"Size": "17.5",
"Color": "Red",
"MSRP": "0",
"MAP": "0",
"UPC": "99999101"
},
],
}
]
您可以在分组后使用映射来创建所需的输出
var temp1=_.groupBy(result, 'Color');
_.map(temp1,function(item,key){return {'Color':key,'Variants':item}});
相关文章:
- 将json回调数据转换为日期
- 如何通过数据分组将json数据转换为嵌套的json数据格式
- 如何将JSON数据转换为变量,解析并输出为HTML
- 如何将 Oracle 数据转换为 JSON,然后在 JavaScript 中使用
- D3:使用 nest 函数将带有父键的平面数据转换为层次结构
- 我需要帮助在 javascript 中将 JSON 数据转换为 3 级多维数组
- 将 XML 数据转换为 json 格式 AngularJS
- 将数据转换为类似于JSON的字符串
- 使用Jquery将Ajax jsonp数据转换为数组
- 将数据库中的数据转换为可下载的PDF文件
- 将image src数据:转换为Uint8Array
- JSON数据转换为表单字段
- 我正在尝试创建一个带有数据转换的按钮,但不起作用
- 将普通数据转换为xml数据的图像滑块
- 如何将人类可读的数据转换为时间戳(使用JS)
- 使用.HTML()将JSON数据转换为HTML
- 将表单元格数据转换为单独.js文件中的内部链接
- 如何将数组数据转换为对象数组
- XML 数据转换为 PHP 或 JS
- 将 SharePoint 列表数据转换为 HTML