Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript对象映射计算值在特定范围内的键数_Javascript - Fatal编程技术网

Javascript对象映射计算值在特定范围内的键数

Javascript对象映射计算值在特定范围内的键数,javascript,Javascript,我的问题是,我想创建一个新对象,该对象包含值在某个范围内的键数。我认为我阐明这个问题的最好方法是如下所示 我的数据集如下: 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} ...] 现在我想创建一个算法,用频率(b)在例如:0-9范围内计算a(行号)的数量,并将该值放入一个新

我的问题是,我想创建一个新对象,该对象包含值在某个范围内的键数。我认为我阐明这个问题的最好方法是如下所示

我的数据集如下:

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}
...]
现在我想创建一个算法,用频率(b)在例如:0-9范围内计算a(行号)的数量,并将该值放入一个新对象中,该对象理想情况下看起来像

用c表示该范围(0-9,1-19,20-29…90-100)

d表示频率(b)在范围(c)内的id(a)的计数

我尝试了几种不同的方法,但没有达到预期的效果。我还需要将计数的结果放入一个新的对象映射中,我不知道如何做

dat = [
  { "ruid": 1, "id_frequency": 5 },
  { "ruid": 2, "id_frequency": 88 },
  { "ruid": 3, "id_frequency": 69 },
  { "ruid": 4, "id_frequency": 28 },
  { "ruid": 5, "id_frequency": 75 },
  { "ruid": 6, "id_frequency": 78 },
  { "ruid": 7, "id_frequency": 18 },
  { "ruid": 8, "id_frequency": 90 },
  { "ruid": 9, "id_frequency": 22 }
];

var freq = Object.keys(dat).filter(function(key){
   return ( dat[key] > 0 && dat[key] <10 );
}).length;

dat=[
{“ruid”:1,“id_频率”:5},
{“ruid”:2,“id_频率”:88},
{“ruid”:3,“id_频率”:69},
{“ruid”:4,“id_频率”:28},
{“ruid”:5,“id_频率”:75},
{“ruid”:6,“id_频率”:78},
{“ruid”:7,“id_频率”:18},
{“ruid”:8,“id_频率”:90},
{“ruid”:9,“id_频率”:22}
];
var freq=Object.keys(dat).filter(函数(键){

return(dat[key]>0&&dat[key]您可以使用一个数组和该值十分之一的整数值作为计数索引

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}],
结果=数据
.reduce((r,{b})=>{
r[数学地板(b/10)].d++;
返回r;
},Array.from({length:10},({u,i)=>({c:i+1,d:0})))

console.log(result);
我看不到问题。我只看到“现在我想创建一个算法…”。您能提供您尝试过的内容并用问题编辑您的问题吗?
dat = [
  { "ruid": 1, "id_frequency": 5 },
  { "ruid": 2, "id_frequency": 88 },
  { "ruid": 3, "id_frequency": 69 },
  { "ruid": 4, "id_frequency": 28 },
  { "ruid": 5, "id_frequency": 75 },
  { "ruid": 6, "id_frequency": 78 },
  { "ruid": 7, "id_frequency": 18 },
  { "ruid": 8, "id_frequency": 90 },
  { "ruid": 9, "id_frequency": 22 }
];

var freq = Object.keys(dat).filter(function(key){
   return ( dat[key] > 0 && dat[key] <10 );
}).length;