javascript - 使用下划线组来构造我的数组

标签 javascript arrays backbone.js underscore.js

我有一个格式如下的数组

[
{
    "duedate": "15-feb-2014",
    "alias": "electronus",
    "agent": "anonymous",
    "name": ""
},
{
    "duedate": "15-feb-2014",
    "alias": "luminous",
    "agent": "anonymous",
    "name": ""
},
{
    "duedate": "16-feb-2014",
    "alias": "GSM",
    "agent": "anonymous",
    "name": ""
}
]

Underscore group by 方法允许我使用属性对数组进行分组,在我的例子中使用截止日期。这将返回一个像这样的数组

{
"15-Feb-2014": [
    {
        "duedate": "15-feb-2014",
        "alias": "electronus",
        "agent": "anonymous",
        "name": ""
    },
    {
        "duedate": "15-feb-2014",
        "alias": "luminous",
        "agent": "anonymous",
        "name": ""
    }
],
"16-Feb-2014": [
    {
        "duedate": "16-feb-2014",
        "alias": "GSM",
        "agent": "anonymous",
        "name": ""
    }
]
}

有没有可能我可以有这样的数组:

[
{
    "duedate": "15-feb-2014",
    "myValues": [
        {
            "duedate": "15-feb-2014",
            "alias": "electronus",
            "agent": "anonymous",
            "name": ""
        },
        {
            "duedate": "15-feb-2014",
            "alias": "luminous",
            "agent": "anonymous",
            "name": ""
        }
    ]
},
{
    "duedate": "16-feb-2014",
    "myValues": [
        {
            "duedate": "16-feb-2014",
            "alias": "GSM",
            "agent": "anonymous",
            "name": ""
        }
    ]
}
]

所以我可以在每个截止日期内有多个数组值,这样我就可以解析它来填充一个我无法更改的模板。

我已经为此苦苦挣扎了很长一段时间。如有任何帮助,我们将不胜感激。

最佳答案

你只需要在 groupBy() 之后调用 map()...

var groupedArray = _.chain(list)
                       .groupBy(function (x) { return x.duedate })
                       .map(function (value, date) { 
                           return {
                               duedate: date,
                               myValues: value
                           };
                       })
                       .value();

JS fiddle :http://jsfiddle.net/t2tCa/

关于javascript - 使用下划线组来构造我的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21793191/

相关文章:

javascript - 如何对依赖于外部库 "<script src="http ://stripe[. ..] 的 API 进行单元测试

java new array where object value true, mysql 'where' 数组语法

c++ - 在 C++ 中解析字符串中的整数

validation - backbone.validation 插件和服务器端验证

javascript - Backbone.js url 功能如何工作?

javascript - Ticks 属性在 Chartist.js 中不起作用

javascript - 通过 App Store 更新基于 Cordova/Phonegap 的应用程序 "crashes"

c++ - 这是什么数组声明?

python - backbone.js 在 python 中模拟模型

javascript - function.call 方法有什么用?