我很想知道一种打印key
具有最大值的方法。下面是几个条件,
c
及其值4
来自{a: 2, b:1, c:4, d:1}
a
和b
with value 4
from{ a: 4, b: 4, c:2, d:1 }
a
then c
。{a: 1, b:1, c:1, d:1}
代码块:
let obj = {
a: 4,
b: 4,
c: 2,
d: 1
};
let maxValueKey = Object.keys(obj).reduce((a, b) => obj[a] > obj[b] ? a : b);
console.log(maxValueKey);
注意:如果您告诉我为什么-ve
投票,我将不胜感激?
您可以使用array#reduce
withObject.keys()
查找最大值键并将其存储在数组中。
let maxValueKey = (o) => Object.keys(o).reduce((a, k, i, keys) => {
if (!i || a.value < o [k]) {
a.max.length = 0;
a.max.push(k);
a.value = o[k];
} else if (a.value === o[k]) {
a.max.push(k);
}
if (a.max.length === keys.length) {
a.max.length = 0;
a.value = 'All equal';
}
return a;
}, {max : [], value: undefined});
console.log(maxValueKey({ a: 4, b: 4, c:2, d:1 }));
console.log(maxValueKey({ a: 1, b:1, c:1, d:1 }));
console.log(maxValueKey({ a: 2, b:1, c:4, d:1 }));
console.log(maxValueKey({ a: 2, b:1 }));
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句