And*_*yce 5 javascript arrays underscore.js
我目前有一个类似于下面数组的数组:
[
{id:1,color:'red'},
{id:2,color:'blue'},
{id:3,color:'red'},
{id:4,color:'green'},
{id:5,color:'blue'},
]
Run Code Online (Sandbox Code Playgroud)
我正在寻找最快的方法来获得类似下面的东西,我可以通过对象中的属性对数组进行拆分/排序,在这个例子中它将是'color':
[
[
{id:1,color:'red'},
{id:3,color:'red'},
],[
{id:2,color:'blue'},
{id:5,color:'blue'},
],[
{id:4,color:'green'},
]
]
Run Code Online (Sandbox Code Playgroud)
我可以为此编写一个函数,但我认为在underscore.js中可能有一些事情要做,但没有找到它的运气.
您需要使用下划线功能,您可以在此处的groupBy文档中找到它。
groupBy_.groupBy(list, iterator, [context])
将集合拆分为多个集合,并按通过迭代器运行每个值的结果进行分组。如果迭代器是字符串而不是函数,则按每个值上迭代器命名的属性进行分组。
[
{id:1,color:'red'},
{id:2,color:'blue'},
{id:3,color:'red'},
{id:4,color:'green'},
{id:5,color:'blue'},
]
_.groupBy(a, function(x){ return x.color; });
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
116 次 |
| 最近记录: |