请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

手写的获取最大值的方法如果比较的数据都是负数就有问题了

手写的获取最大值的方法如果比较的数据都是负数岂不是获取到的最大值就是这一组数据中不存在的 0 了,
max 初始值我觉得应该从待比较的数据中任意取一个

function max (){
    const numArray = Array.prototype.slice.call(arguments)
    // let max = 0
    let max = numArray[0]
    numArray.forEach((item) => {
        if(item >max){
            max = item
        }
    })
    return max
}

正在回答 回答被采纳积分+3

2回答

双越 2020-04-01 19:58:35
function max1(){
    const numArray = Array.prototype.slice.call(arguments)
    // let max = 0
    let max = numArray[0]
    numArray.forEach((item) => {
        if(item >max){
            max = item        }
    })
    return max
}
max1(-10,-20,-5) // -5


0 回复 有任何疑惑可以回复我~
双越 2020-02-25 18:27:04

没啥问题吧

max(-10,-20,-5) // -5


0 回复 有任何疑惑可以回复我~
  • 这样输出就是0了吧,试了下不是-5
    回复 有任何疑惑可以回复我~ 2020-04-01 16:12:07
  • 双越 回复 慕神9465694 #2
    我试着还是 -5
    回复 有任何疑惑可以回复我~ 2020-04-01 18:13:39
  • 慕神9465694 回复 双越 #3
    不应该呀,我试了还是0 。定义的变量max是0,当遍历数组中的每一项的时候,因为数组中的每一项都是小于零的,那么if里面的赋值运算就不会执行了呀(执行的条件是item > max),所以max就原样输出。不知道哪里有问题呢...
    回复 有任何疑惑可以回复我~ 2020-04-01 18:47:19
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信