您好我试图使用Math.min,但我得到NaN作为结果,这是代码.
使用Math.min的方法
method() {
var DeltaPrueba = this._markerService.getDeltasRx1();
console.log(DeltaPrueba); // 1
var menor = Math.min(DeltaPrueba);
console.log(menor); //1
}
Run Code Online (Sandbox Code Playgroud)
服务
CalculateDeltas(){
/* do some math to calculate then save in array Deltas*/
Deltas = [DeltaT1,DeltaT2,DeltaT3,DeltaT4,DeltaT1CR,DeltaT2CR,DeltaT3CR,DeltaT4CR] ;
}
getDeltasRx1(){
return Deltas;
}
Run Code Online (Sandbox Code Playgroud)
控制台日志编号1显示包含所有de数据的数组,如下所示:
["18.20","0.00","425.97","316.87","667.80","422.34","425.99","316.89"]
控制台日志编号2显示NaN:
为NaN
您需要执行以下操作
var array = ["18.20", "0.00", "425.97", "316.87", "667.80", "422.34", "425.99", "316.89"];
var min = Math.min.apply(Math, array);
console.log(min);Run Code Online (Sandbox Code Playgroud)
要将整个数组从字符串转换为数字,您可以这样做,array.map(Number)但这对获取最小值没有任何影响,因为幕后javascript会将每个字符串转换为数字.