Javascript 对象数组-按顺序返回对象&;返回平均排名

Javascript 对象数组-按顺序返回对象&;返回平均排名,javascript,arrays,sorting,object,Javascript,Arrays,Sorting,Object,这是一个实践问题 说明 在JavaScript中有一个对象数组。每一个都包含一个名称(字符串)和排名(数字) 编写两个函数,一个用于返回按排名排序的对象,另一个用于返回平均排名 我有它排序,但需要找到平均排名以及 代码 let obj=[{name:“bob”,排名:2},{name:“rob”,排名:3},{name:“cob”,排名:1}]; 常量输出=obj .sort((a,b)=>a-b); 函数avgranging(num){ 让总和=对象减少((先前,当前)=>当前+=先前);

这是一个实践问题

说明

在JavaScript中有一个对象数组。每一个都包含一个名称(字符串)和排名(数字)

编写两个函数,一个用于返回按排名排序的对象,另一个用于返回平均排名

我有它排序,但需要找到平均排名以及

代码

let obj=[{name:“bob”,排名:2},{name:“rob”,排名:3},{name:“cob”,排名:1}];
常量输出=obj
.sort((a,b)=>a-b);
函数avgranging(num){
让总和=对象减少((先前,当前)=>当前+=先前);
设平均值=总和/对象排名长度;
返回平均值
}
控制台日志(输出);
console.log(avgRanking());//NaN
.sort()
对数组进行排序,并且仅此而已。如果从对象数组开始并对其调用
.sort()
,则该数组仍然是对象数组,只是(可能)顺序不同

如果只需要排名的排序数组,则需要
.map
来提取值(排序之前或之后)。您可能还应该为数组使用更好的变量名-它是一个数组,而不是一个普通对象,因此可以将其命名为
arr
users
(或更准确地描述集合的名称),否则很可能会产生混淆:

const users=[{name:“bob”,排名:2},{name:“rob”,排名:3},{name:“cob”,排名:1}];
常量输出=用户
.map(obj=>obj.ranking)
.sort((a,b)=>a-b);

控制台日志(输出)为什么只得到排名而不得到整个对象?如果你说你想有一个函数返回按排名排序的对象,你的函数就是这样做的。所以你不是问如何修复它,你只是要求澄清,对吗?在你的帖子里没有一个问题(标记)。这听起来更像是老师或面试时做的练习。你是对的,经过编辑反映了。。。或者更好的
用户
玩家
或任何有意义的东西