Javascript TypeError:比较函数必须是函数或未定义
编写一个名为sort_by_average的函数,该函数将键值存储的列表/数组作为参数,其中每个键值存储都有关键字ratings、budget和box_office,其中budget和box_office是整数,ratings是整数列表。根据评分中的平均值对输入进行排序Javascript TypeError:比较函数必须是函数或未定义,javascript,algorithm,Javascript,Algorithm,编写一个名为sort_by_average的函数,该函数将键值存储的列表/数组作为参数,其中每个键值存储都有关键字ratings、budget和box_office,其中budget和box_office是整数,ratings是整数列表。根据评分中的平均值对输入进行排序 function sort_by_average(lista){ for(var i of lista){ lista.sort(i.ratings.reduce/i.ratings.length);
function sort_by_average(lista){
for(var i of lista){
lista.sort(i.ratings.reduce/i.ratings.length);
}
return lista;
}
我得到TypeError:比较函数必须是函数或未定义。我怎样才能解决这个问题
如果提供了compareFunction,则会删除所有未定义的数组元素
根据比较函数all的返回值排序
未定义的元素排序到数组的末尾,不调用
比较函数
因此,您必须创建一个这样的函数,并将其传递给排序:
function compare(a, b) {
if (a is less than b by some ordering criterion) {
return -1;
}
if (a is greater than b by the ordering criterion) {
return 1;
}
// a must be equal to b
return 0;
}
Hello mate,需要一个函数作为参数或未定义,这就是您遇到TypeError的原因。您也不必在列表中循环排序,您可以查看上面链接中提供的示例。