Javascript 排序并返回数组任务中的差异,返回未定义的

Javascript 排序并返回数组任务中的差异,返回未定义的,javascript,arrays,function,sorting,Javascript,Arrays,Function,Sorting,函数需要使用未排序数组(ages)作为参数,然后返回一个数组:最小数、最大数、它们之间的差 function differenceInAges(ages){ let firstArr = ages; let sortArr = firstArr.sort(); let last = sortArr.slice(-1); let diff = last - sortArr[0]; let ansArr = [sortArr[0], last, diff]; } 当参数传递到此函数时,它返回为未

函数需要使用未排序数组(ages)作为参数,然后返回一个数组:最小数、最大数、它们之间的差

function differenceInAges(ages){
let firstArr = ages;
let sortArr = firstArr.sort();
let last = sortArr.slice(-1);
let diff = last - sortArr[0];
let ansArr = [sortArr[0], last, diff];

}

当参数传递到此函数时,它返回为未定义。

我在代码中发现了以下问题

  • 未定义任何
    return

  • Array.sort()
    只执行字符串排序。对于数字排序,您需要定义一个函数。(我已补充)

  • 使用带有赋值运算符的同一数组,而不使用扩展运算符,这将在
    firstArr
    ages
    sortArr

  • 希望这个解决方案是你所寻找的

    功能差异管理(年龄){
    让firstArr=年龄;
    让sortArr=[…firstArr].sort(sortNumber);
    let last=sortArr.slice(-1)[0];
    设diff=last-sortArr[0];
    设ansArr=[Sortar[0],last,diff];
    返回ansArr;
    }
    函数排序编号(a,b){
    返回a-b;
    }
    
    log(不同的管理([10,20,5,25,30])您没有
    返回