规范对象中的数字-JavaScript
假设我们有一个对象,其字符串映射到这样的数字-
const obj = {
num1: 45,
num2: 78,
num3: 234,
num4: 3,
num5: 79,
num6: 23
};我们需要编写一个JavaScript函数,该函数接受一个对象作为第一个参数,并将一个严格由两个数字组成的数组作为第二个参数。
第二个参数基本上代表一个范围-
[a, b] (b >= a)
我们的工作是根据范围归一化对象值。
因此,对象的最大值必须为b,最小值必须为a。介于两者之间的其他对象应进行相应调整。
示例
以下是代码-
const obj = {
num1: 45,
num2: 78,
num3: 234,
num4: 3,
num5: 79,
num6: 23
};
const range = [10, 15];
const normaliseObject = (obj, range) => {
const values = Object.values(obj);
const min = Math.min.apply(Math, values);
const max = Math.max.apply(Math, values);
const variation = (range[1] - range[0]) / (max - min);
Object.keys(obj).forEach(el => {
const val = (range[0] + ((obj[el] - min) * variation)).toFixed(2);
obj[el] = +val;
});
};
normaliseObject(obj, range);
console.log(obj);输出结果
这将在控制台中产生以下输出-
{
num1: 10.91,
num2: 11.62,
num3: 15,
num4: 10,
num5: 11.65,
num6: 10.43
}热门推荐
9 带清的简短祝福语
10 杨奕老师祝福语简短
11 女神节日简短祝福语大全
12 女朋友祝福语简短新年
13 考试祝福语日文简短版
14 蛋糕祝老师祝福语简短
15 奶奶生日感恩祝福语简短
16 诗词文案祝福语简短精辟
17 写给男生简短的祝福语
18 虎年新年专属祝福语简短