2016-02-11 56 views
0

我试图在月份中过滤掉我的对象中的项目,并将这些项目推送到新对象中。将对象添加到lodash中的嵌套对象

所以最终结果应该是这样的

对象[ 1月: 对象-1 二月 对象-1 对象-2 等]

我使用了阵列像这样的月

var monthsOfYear = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; 

然后,我试着循环通过该数组,然后找到匹配的对象对象。这有点作用,但它只给每个嵌套对象一个项目。

for (var i = 0; i < monthsOfYear.length; i++) { 
     var month = monthsOfYear[i]; 
     for (var j = 0; j < response.data.length-1; j++) { 
      if(_.startsWith(response.data[j].description, month)){ 
       offeringsMonth[i] = _.assign(response.data[j]); 
      } 
     }    
    } 

所以,当我控制台登录这个我得到

object[ 

扬: 对象1 月 对象1 等]

回答

0
var res = _.groupBy(responce.data, function(item){ 
    return _.find(monthsOfYear, function(month){ 
     return _.startsWith(item.description, month); 
    }); 
}); 
+0

非常感谢!我确实已经设法弄清楚了,但这个解决方法好得多。 – drewBD