我正在使用 IE 11
我有一个对象数组,我想通过我存储在一个名为“programs”的数组中的名为“program”的属性之一对我的对象数组进行分组。我可以使用 lodash,但我认为我用错了,因为结果没有显示为分组。
这是我的代码:
var programs = ['ATR','QTR','STR'];
axios.get("https://my-json-server.typicode.com/isogunro/jsondb/Programs").then(function(response) {
groupProgram(response.data);
})
.catch(function (error) {
console.log(error+"log");
});
function groupProgram(data){
var newProgram = [];
_.groupBy(data, function(item){
for (var i=0; i<programs.length; i++){
if (programs[i] == item.program){
newProgram.push(item);
}
}
});
return newProgram;
}
我最终会使用结果在Vuejs中生成一个表格。这是笔
任何帮助将非常感激。
谢谢!
您可以使用Array.reduce(不带 lodash ):
axios.get("https://my-json-server.typicode.com/isogunro/jsondb/Programs").then(function(response) {
const groupped = groupProgram(response.data);
console.log(groupped);
})
.catch(function(error) {
console.log(error + "log");
});
function groupProgram(data) {
const result = data.reduce((acc, curr) => {
acc[curr.program].push(curr);
return acc;
}, {
'ATR': [],
'QTR': [],
'STR': [],
});
return result;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/axios/0.19.0/axios.min.js"></script>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句