如何在javascript字典中存储数组的值?

如何在javascript字典中存储数组的值?,javascript,arrays,dictionary,Javascript,Arrays,Dictionary,我想在js字典中存储数组值(对于每个日期键,都有一个该日期的对象数组)。 这可能吗?如果没有,最好的方法是什么? 这是数据(从json获取): 我尝试了以下方法,但它只生成一个字符串的长值 for (var i=0; i<data.length; i++){ usersByDay[data[i].date] += data[i]; } +=在JavaScript中不会将值推送到数组中,但是推送到中!您还需要检查密钥是否存在,如果不存在,则创建一个新数组 for (va

我想在js字典中存储数组值(对于每个日期键,都有一个该日期的对象数组)。 这可能吗?如果没有,最好的方法是什么? 这是数据(从json获取):

我尝试了以下方法,但它只生成一个字符串的长值

 for (var i=0; i<data.length; i++){
     usersByDay[data[i].date] += data[i];
    }

+=
在JavaScript中不会将值推送到数组中,但是
推送到
中!您还需要检查密钥是否存在,如果不存在,则创建一个新数组

for (var i = 0; i < data.length; i++) {
    var item = data[i];

    if (usersByDay[item.date]) {
        usersByDay[item.date].push(item);
    } else {
        usersByDay[item.date] = [item];
    }
}
for(变量i=0;i
或者,如果你喜欢“幻想”:

for (var i = 0; i < data.length; i++) {
    var item = data[i];

    (usersByDay[item.date] || (usersByDay[item.date] = [])).push(item);
}
for(变量i=0;i
为什么有一个
+=
而不仅仅是
=
?您正在寻找
用户的日期[data[i].date].push(data[i])
?不知道。从教程中学习阵列的基础知识:不,我的意思不同。我更新了我的问题,希望现在更清楚。谢谢@好的,这个答案似乎仍然适用。
for (var i = 0; i < data.length; i++) {
    var item = data[i];

    if (usersByDay[item.date]) {
        usersByDay[item.date].push(item);
    } else {
        usersByDay[item.date] = [item];
    }
}
for (var i = 0; i < data.length; i++) {
    var item = data[i];

    (usersByDay[item.date] || (usersByDay[item.date] = [])).push(item);
}