关于Math.max对array.join()处理返回NaN
Posted kyshu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Math.max对array.join()处理返回NaN相关的知识,希望对你有一定的参考价值。
前段时间在项目中用到对数组进行join,在Math.max处理返回数据NaN:
var arr = [1,2,3,45,66]
var num = Math.max.apply( null, arr );
console.log( num );
apply的第二个参数是参数数组
如果按照你那样写,用arr.join(‘,‘),得到的是字符串,就相当于
Math.max( ‘1,2,3,45,66‘ );
里面是字符串,肯定是不对的
如果坚持要用字符串拼接参数,可以用eval
var arr = [1,2,3,45,66]
var num = eval( ‘Math.max(‘ + arr.join( ‘,‘ ) + ‘)‘ );
console.log( num ); // 66
es6写法:
var arr = [1,2,3,45,66]
var num = Math.max( ...arr );
console.log( num );
以上是关于关于Math.max对array.join()处理返回NaN的主要内容,如果未能解决你的问题,请参考以下文章