我一直在做一些排序,但仍然没有得到它为什么结果是[]。你们能帮我解决我错过了什么吗?通过JavaScript重新排序数组对象
我有我的原数组对象:
var data = [
{message:'hello', username:'user1'},
{message:'data', username:'user1'},
{message:'sample', username:'user2'},
{message:'here', username:'user2'},
];
我的功能是:
var chat = [];
function reorder(obj) {
obj.forEach(function(val, i) {
if(typeof chat[val.username] === 'undefined') {
chat[val.username] = [];
chat[val.username].push(val);
}
else
chat[val.username].push(val);
});
return chat;
}
和我的控制台上:
reorder(data);
我期待着有:
var data2 = [
'user1': [{message:'hello', username:'user1'}, {message:'data', username:'user1'} ],
'user2': [{message:'sample', username:'user2'}, {message:'here', username:'user2'} ],
];
'聊天[VAL。 .username]'是不是有效的语法,你没有得到一个语法错误?它实际上是“聊天[val.username]”吗? – Barmar 2014-09-11 06:14:52
你把结果分配给'data2'的地方? – Barmar 2014-09-11 06:16:18
为什么不把“聊天”的init作为第一件事进入重新排序功能? – 2014-09-11 06:17:35