Javascript 使用下划线js对对象数组排序
我有如下对象数组:Javascript 使用下划线js对对象数组排序,javascript,arrays,sorting,underscore.js,Javascript,Arrays,Sorting,Underscore.js,我有如下对象数组: profData=[{"Details":{"CODE":"PAT4PAS","DESCRIPTION":"PASTIE 4N20 12 X 175G","LOCATION":"FREEZER","UNITS":"BOX","WAREHOUSE":"00","AVAILABLE":"15.0000","ON_HAND":"15.0000","BRAND":"4N20","PRICE1":"18.80","TAX_CODE1":"1","PROD_CLASS":"FROZ"}}
profData=[{"Details":{"CODE":"PAT4PAS","DESCRIPTION":"PASTIE 4N20 12 X 175G","LOCATION":"FREEZER","UNITS":"BOX","WAREHOUSE":"00","AVAILABLE":"15.0000","ON_HAND":"15.0000","BRAND":"4N20","PRICE1":"18.80","TAX_CODE1":"1","PROD_CLASS":"FROZ"}},{"Details":{"CODE":"PAT4PAS","DESCRIPTION":"PASTIE 4N20 12 X 175G","LOCATION":"FREEZER","UNITS":"BOX","WAREHOUSE":"00","AVAILABLE":"15.0000","ON_HAND":"15.0000","BRAND":"4N20","PRICE1":"18.80","TAX_CODE1":"1","PROD_CLASS":"FROZ"}},{"Details":{"CODE":"OMKM","DESCRIPTION":"SAUCE KETCHUP MANIS 620ML [6]","LOCATION":"DRY","UNITS":"EACH","WAREHOUSE":"00","AVAILABLE":"187.0000","ON_HAND":"189.0000","BRAND":"ABC","PRICE1":"3.40","TAX_CODE1":"-1","PROD_CLASS":"DRY"}},{"Details":{"CODE":"BAXSAL","DESCRIPTION":"SALSA MEXICAN 2LTR [6]","LOCATION":"DRY","UNITS":"EACH","WAREHOUSE":"00","AVAILABLE":"439.0000","ON_HAND":"445.0000","BRAND":"AGE","PRICE1":"9.20","TAX_CODE1":"-1","PROD_CLASS":"DRY"}},{"Details":{"CODE":"BAXSEMI","DESCRIPTION":"TOMATO SEMI DRIED 2KG [4]","LOCATION":"REFRIDGERATOR","UNITS":"EACH","WAREHOUSE":"00","AVAILABLE":"55.0000","ON_HAND":"59.0000","BRAND":"AGE","PRICE1":"21.10","TAX_CODE1":"-1","PROD_CLASS":"CHILL"}},{"Details":{"CODE":"BAXSUN","DESCRIPTION":"TOMATO SUN DRIED 2KG [4]","LOCATION":"REFRIDGERATOR","UNITS":"EACH","WAREHOUSE":"00","AVAILABLE":"39.0000","ON_HAND":"39.0000","BRAND":"AGE","PRICE1":"15.20","TAX_CODE1":"-1","PROD_CLASS":"CHILL"}},{"Details":{"CODE":"AMFBAM","DESCRIPTION":"FLOUR - AM SUP BAKERS 12.5KG","LOCATION":"REFRIDGERATOR","UNITS":"BAG","WAREHOUSE":"00","AVAILABLE":"259.0000","ON_HAND":"339.0000","BRAND":"ALLIE","PRICE1":"13.70","TAX_CODE1":"-1","PROD_CLASS":"CHILL"}},{"Details":{"CODE":"ALPKKC","DESCRIPTION":"KRANSKY - CHEESE 2.5KG [6]","LOCATION":"REFRIDGERATOR","UNITS":"EACH","WAREHOUSE":"00","AVAILABLE":"27.0000","ON_HAND":"27.0000","BRAND":"ALP","PRICE1":"19.30","TAX_CODE1":"-1","PROD_CLASS":"CHILL"}},{"Details":{"CODE":"ABTDP","DESCRIPTION":"TOOTHPICK - DOUBLE POINT 1000","LOCATION":"DRY","UNITS":"EACH","WAREHOUSE":"00","AVAILABLE":"12.0000","ON_HAND":"12.0000","BRAND":"ALPEN","PRICE1":"1.60","TAX_CODE1":"1","PROD_CLASS":"DRY"}}]
我想用PROD\u CLASS
对它进行排序
我用下划线js尝试过,但没有得到解决方案
var fullySorted = _.sortBy(profData, 'PROD_CLASS');
但它不使用PROD\u类
进行排序
谁能帮帮我吗
提前感谢。因为
PROD\u类
不是数组元素的直接属性,所以这不起作用
_.sortBy(profData, obj => obj.Details.PROD_CLASS);
这和
_.sortBy(arr, function(obj) {
return obj.Details.PROD_CLASS;
});
var profData=[{
“详情”:{
“代码”:“PAT4PAS”,
“说明”:“PASTIE 4N20 12 X 175G”,
“位置”:“冷冻室”,
“单位”:“盒子”,
“仓库”:“00”,
“可用”:“15.0000”,
“现有”:“15.0000”,
“品牌”:“4N20”,
“价格1”:“18.80”,
“税务代码1”:“1”,
“产品类别”:“FROZ”
}
}, {
“详情”:{
“代码”:“PAT4PAS”,
“说明”:“PASTIE 4N20 12 X 175G”,
“位置”:“冷冻室”,
“单位”:“盒子”,
“仓库”:“00”,
“可用”:“15.0000”,
“现有”:“15.0000”,
“品牌”:“4N20”,
“价格1”:“18.80”,
“税务代码1”:“1”,
“产品类别”:“FROZ”
}
}, {
“详情”:{
“代码”:“OMKM”,
“说明”:“酱汁番茄酱620ML[6]”,
“位置”:“干燥”,
“单位”:“每个”,
“仓库”:“00”,
“可用”:“187.0000”,
“手头”:“189.0000”,
“品牌”:“ABC”,
“价格1”:“3.40”,
“税号1”:“-1”,
“产品等级”:“干燥”
}
}, {
“详情”:{
“代码”:“BAXSAL”,
“描述”:“SALSA MEXICAN 2LTR[6]”,
“位置”:“干燥”,
“单位”:“每个”,
“仓库”:“00”,
“可用”:“439.0000”,
“手头上”:“445.0000”,
“品牌”:“年龄”,
“价格1”:“9.20”,
“税号1”:“-1”,
“产品等级”:“干燥”
}
}, {
“详情”:{
“代码”:“BAXSEMI”,
“说明”:“番茄半干2KG[4]”,
“位置”:“制冷剂发生器”,
“单位”:“每个”,
“仓库”:“00”,
“可用”:“55.0000”,
“手头”:“59.0000”,
“品牌”:“年龄”,
“价格1”:“21.10”,
“税号1”:“-1”,
“产品类别”:“冷”
}
}, {
“详情”:{
“代码”:“巴克森”,
“说明”:“番茄晒干2KG[4]”,
“位置”:“制冷剂发生器”,
“单位”:“每个”,
“仓库”:“00”,
“可用”:“39.0000”,
“现有”:“39.0000”,
“品牌”:“年龄”,
“价格1”:“15.20”,
“税号1”:“-1”,
“产品类别”:“冷”
}
}, {
“详情”:{
“代码”:“AMFBAM”,
“说明”:“面粉-AM SUP面包师12.5KG”,
“位置”:“制冷剂发生器”,
“单位”:“袋子”,
“仓库”:“00”,
“可用”:“259.0000”,
“手头上”:“339.0000”,
“品牌”:“ALLIE”,
“价格1”:“13.70”,
“税号1”:“-1”,
“产品类别”:“冷”
}
}, {
“详情”:{
“代码”:“ALPKKC”,
“说明”:“克兰斯基奶酪2.5KG[6]”,
“位置”:“制冷剂发生器”,
“单位”:“每个”,
“仓库”:“00”,
“可用”:“27.0000”,
“手头上”:“27.0000”,
“品牌”:“ALP”,
“价格1”:“19.30”,
“税号1”:“-1”,
“产品类别”:“冷”
}
}, {
“详情”:{
“代码”:“ABTDP”,
“说明”:“牙签-双尖1000”,
“位置”:“干燥”,
“单位”:“每个”,
“仓库”:“00”,
“可用”:“12.0000”,
“手头上”:“12.0000”,
“品牌”:“阿尔卑斯”,
“价格1”:“1.60”,
“税务代码1”:“1”,
“产品等级”:“干燥”
}
}];
var fullySorted=u.sortBy(profData,obj=>obj.Details.PROD_类);
console.log(完全排序)代码>
因为PROD\u类
不是数组元素的直接属性,所以这将不起作用
_.sortBy(profData, obj => obj.Details.PROD_CLASS);
这和
_.sortBy(arr, function(obj) {
return obj.Details.PROD_CLASS;
});
var profData=[{
“详情”:{
“代码”:“PAT4PAS”,
“说明”:“PASTIE 4N20 12 X 175G”,
“位置”:“冷冻室”,
“单位”:“盒子”,
“仓库”:“00”,
“可用”:“15.0000”,
“现有”:“15.0000”,
“品牌”:“4N20”,
“价格1”:“18.80”,
“税务代码1”:“1”,
“产品类别”:“FROZ”
}
}, {
“详情”:{
“代码”:“PAT4PAS”,
“说明”:“PASTIE 4N20 12 X 175G”,
“位置”:“冷冻室”,
“单位”:“盒子”,
“仓库”:“00”,
“可用”:“15.0000”,
“现有”:“15.0000”,
“品牌”:“4N20”,
“价格1”:“18.80”,
“税务代码1”:“1”,
“产品类别”:“FROZ”
}
}, {
“详情”:{
“代码”:“OMKM”,
“说明”:“酱汁番茄酱620ML[6]”,
“位置”:“干燥”,
“单位”:“每个”,
“仓库”:“00”,
“可用”:“187.0000”,
“手头”:“189.0000”,
“品牌”:“ABC”,
“价格1”:“3.40”,
“税号1”:“-1”,
“产品等级”:“干燥”
}
}, {
“详情”:{
“代码”:“BAXSAL”,
“描述”:“SALSA MEXICAN 2LTR[6]”,
“位置”:“干燥”,
“单位”:“每个”,
“仓库”:“00”,
“可用”:“439.0000”,
“手头上”:“445.0000”,
“品牌”:“年龄”,
“价格1”:“9.20”,
“税号1”:“-1”,
“产品等级”:“干燥”
}
}, {
“详情”:{
“代码”:“BAXSEMI”,
“说明”:“番茄半干2KG[4]”,
“位置”:“制冷剂发生器”,
“单位”:“每个”,
“仓库”:“00”,
“可用”:“55.0000”,
“手头”:“59.0000”,
“品牌”:“年龄”,
“价格1”:“21.10”,
“税号1”:“-1”,
“产品类别”:“冷”
}
}, {
“详情”:{
“代码”:“巴克森”,
“说明”:“番茄晒干2KG[4]”,
“位置”:“制冷剂发生器”,
“单位”:“每个”,
“仓库”:“00”,
“可用”:“39.0000”,
“现有”:“39.0000”,
“品牌