Javascript对象映射以一定范围内的值计算键的数目

问题描述 投票:-1回答:1

我的数据集如下:

a = 1-1000的序号序列,如id /行号

b = 1-100之间的任意随机数

{"a":1,"b":59},
{"a":2,"b":88},
{"a":3,"b":69},
{"a":4,"b":28},
{"a":5,"b":75},
{"a":6,"b":78}
...]

现在,我想创建一种算法来计算a(行数)的数量,其频率(b)在例如0-9的范围内,并将该值放入一个新对象,理想情况下看起来像]

c代表该范围(0-9、1-19、20-29 ... 90-100)

和d表示ID(a)的计数,频率(b)在范围(c)中

[
{"c":1, "d":10},
{"c":2, "d":13},
{"c":3, "d":20},
...
{"c":10, "d":6}
]
javascript
1个回答
0
投票
您可以将一个数组和十分之一的ingervalue作为计数的索引。

var data = [{ a: 1, b: 59 }, { a: 2, b: 88 }, { a: 3, b: 69 }, { a: 4, b: 28 }, { a: 5, b: 75 }, { a: 6, b: 78 }], result = data .reduce((r, { b }) => { r[Math.floor(b / 10)]++; return r; }, Array.from({ length: 10 }).fill(0)) .map((d, i) => ({ c: i + 1, d })); console.log(result);
© www.soinside.com 2019 - 2024. All rights reserved.