var a=[{name:1,key:'a'},{name:2,key:'b'},{name:3,key:'a'},{name:3,key:'b'}]
var a=[{name:1,key:'a'},{name:2,key:'b'},{name:3,key:'a'},{name:3,key:'b'}]
var b = {};
$.each(arr, function (i,v){
var g = v[keyName],
c = b[g];
if(c){
b[g].push(v);
}else{
b[g] = [v];
};
});
var b = a.reduce(function(v, k) {
var filters = v.filter(function(data) {
return data.key === k.key
});
if (filters.length === 0) {
v.push({
key: k.key,
name: [k.name]
})
} else {
filters[0].name.push(k.name)
};
return v
}, [])
console.log(b)
//[{"key":"a","name":[1,3]},{"key":"b","name":[2,3]}]
//var a =........;
var result = new Array();
for(var index in a){
result[a[index].key] = new Array();
result[a[index].key].push(a[index]);
}
console.log(result);
这是个简单但经典的问题。for in属于js语法,请自行搜索参考资料。
13 回答13.1k 阅读
7 回答2.3k 阅读
3 回答1.4k 阅读✓ 已解决
6 回答1.5k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
3 回答1.5k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决