[英]How to use _sortBy in an array of objects that contains nested array of objects
[英]_.sortBy an array with multiple nested objects in javascript
我试图按项目位置排序,然后使用underscorejs方法_.each
, _.groupBy
和_.sortBy
将数据推入表中
sails.log('my.items.item_location.location: ', my.items[0].item_location.location)
_.each(_.groupBy(_.sortBy(my.items.item_location.location, 'location'), 'location'), function(locationItems) {
itemsTable.table.body.push(my.renderItemRow(locationItems));
});
我在顶部的sails.log
从第0个位置打印出数据,我可以验证数组的其余部分是否包含定义的位置。
我的对象:
my.items:[
{
"p_item_id":79,
"uid":"9c2073da-2945-4e0d-ad97-39db1a4cde16",
"quantity":9,
"item_location":{
"inbounds_items_location_id":1,
"uid":"fJtWsFrVD",
"sku_uid":"150-MTG-XS",
"location":"O8",
"quantity":171,
},
},
...
]
每当我访问location
参数时,我都会得到:
TypeError: Cannot read property 'location' of undefined
我做错了什么?
您应该以正确的方式访问对象。 当前您的访问my.items.item_location.location
错误,因为my.items
是数组。 因此, my.items
没有名为item_location
属性,而my.items[0]
有。
总之,您应该像下面这样写下
_.groupBy(_.sortBy(my.items, function(item){
return item.item_location.location
}), function(item){
return item.item_location.location
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.