Math.max( ...['1', '2.20', '5.50'])
, то он вернет 5.5
, а мне нужно, чтобы всё сохранялось в первоначальном виде, т.е. чтобы вернулось '5.50'
. const maxStr = arr.length
? arr.reduce((max, n) => +n < +max ? max : n)
: null;
function max(data, key = n => n) {
const getVal = key instanceof Function ? key : n => n[key];
let result = null;
for (const n of data) {
const val = getVal(n);
result = (!result || result[1] < val) ? [ n, val ] : result;
}
return result?.[0];
}
const maxStr = max(arr, Number);