Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.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 如何使用reduce将数组中的相似项分组在一起,并使用arr.reduce返回一个ObjText?_Javascript_Arrays_Reduce - Fatal编程技术网

Javascript 如何使用reduce将数组中的相似项分组在一起,并使用arr.reduce返回一个ObjText?

Javascript 如何使用reduce将数组中的相似项分组在一起,并使用arr.reduce返回一个ObjText?,javascript,arrays,reduce,Javascript,Arrays,Reduce,这是我做的 let nums = [6.1, 4.2, 6.2]; let numsGroup = nums.reduce((acc, num) => { return {...acc, [Math.floor(num)]: num} }, {}); 并得到如下输出 //{4:4.2,6:6.2} 但是我需要输出为{4:[4.2],6:[6.1,6.2]}您几乎接近了,只需将num推入数组: 让nums=[6.1,4.2,6.3]; 让numsGroup=nums.

这是我做的

let nums = [6.1, 4.2, 6.2];
let numsGroup = nums.reduce((acc, num) => {
    return {...acc, [Math.floor(num)]: num}
    
}, {}); 
并得到如下输出 //{4:4.2,6:6.2}


但是我需要输出为{4:[4.2],6:[6.1,6.2]}

您几乎接近了,只需将num推入数组:

让nums=[6.1,4.2,6.3];
让numsGroup=nums.reduce((acc,num)=>{
(根据[数学楼层(数量)]??=[])推送(数量);
返回acc;
}, {}); 

console.log(numsGroup)您需要为每个数字组创建/添加一个数组

让nums=[6.1,4.2,6.2];
让numsGroup=nums.reduce((acc,num)=>{
常数n=数学楼层(num);
返回{…acc[n]:[…(acc[n]??[]),num]};
}, {});

console.log(numsGroup)

让nums=[6.1,4.2,6.2];
让numsGroup=nums.reduce((acc,num)=>)
acc[数学地板(num)]?acc[数学地板(num)]。推送(num):acc[数学地板(num)]=[num]
,acc),{});
console.log(numsGroup)