说我有这样的数组:
[
"foo",
"bar",
"foo"
"bar",
"bar",
"bar",
"zoom"
]
Run Code Online (Sandbox Code Playgroud)
我想对它进行分组,这样我就可以得到这样的计数:
{
"foo": 2,
"bar": 4,
"zoom": 1
}
Run Code Online (Sandbox Code Playgroud)
有没有可以做到这一点的实用程序?
Ele*_*Ele 13
只需使用该功能Array.prototype.reduce。
let array = [ "foo", "bar", "foo", "bar", "bar", "bar", "zoom"],
result = array.reduce((a, c) => (a[c] = (a[c] || 0) + 1, a), Object.create(null));
console.log(result);Run Code Online (Sandbox Code Playgroud)
.as-console-wrapper { max-height: 100% !important; top: 0; }Run Code Online (Sandbox Code Playgroud)
是的,您可以将reduce()数组存储为带有键和计数的对象,如下所示:
const input = [
"foo",
"bar",
"foo",
"bar",
"bar",
"bar",
"zoom"
];
const result = input.reduce((total, value) => {
total[value] = (total[value] || 0) + 1;
return total;
}, {});
console.log(result);Run Code Online (Sandbox Code Playgroud)
希望能帮助到你!
| 归档时间: |
|
| 查看次数: |
13454 次 |
| 最近记录: |