首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >应用数学(参数传递、数组和“JavaScript”方法)

应用数学(参数传递、数组和“JavaScript”方法)
EN

Stack Overflow用户
提问于 2011-03-25 08:29:20
回答 6查看 2K关注 0票数 2

1)为什么function smallest会失败?我认为它符合Mozilla文档https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Math/min中的示例。

代码语言:javascript
复制
 function getMin(x,y) {  //from Mozilla documentation
   return Math.min(x,y)
}



function smallest(array){ //my own experimentation with Resig`s example
  return Math.min(array);
}
function largest(array){      //from John Resig`s learning advanced JavaScript #41
  return Math.max.apply( Math, array );
}
assert(smallest([0, 1, 2, 3]) == 0, "Locate the smallest value.");
assert(largest([0, 1, 2, 3]) == 3, "Locate the largest value.");
EN

Stack Overflow用户

发布于 2011-03-25 08:31:45

试一试

代码语言:javascript
复制
function smallest(array) { return Math.min.apply(Math, array); }

当作为数组传递时,它将不起作用,因为min在比较之前将其参数转换为数字。除非数组包含看起来像数字的单个元素,否则尝试将数组转换为数字将产生NaN

所以

代码语言:javascript
复制
Math.min([3]) === 3
Math.min('3') === 3

代码语言:javascript
复制
isNaN(Math.min([3, 4]))  // because,
isNaN(Math.min('3,4'))  // which is the same as
isNaN(Math.min(+'3,4'))  // which is equivalent to
isNaN(Math.min(NaN))
票数 1
EN
查看全部 6 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5427254

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档