假设我们有一个包含一些数字的数组,我们的工作是编写一个函数,该函数接受该数组并将所有与0到100相关的值映射。而所有其他数字都应根据该比率转换为0到100之间的特定数字。
以下是执行相同操作的代码-
const numbers = [45.71, 49.53, 18.5, 8.38, 38.43, 28.44]; const mapNumbers = (arr) => { const max = Math.max(...arr); const min = Math.min(...arr); const diff = max - min; return arr.reduce((acc, val) => acc.concat((100/diff)*(val-min)), []); }; console.log(mapNumbers(numbers));
输出结果
控制台中的输出将为-
[ 90.71688942891859, 100, 24.59295261239368, 0, 73.02551640340218, 48.74848116646417 ]