【发布时间】:2019-07-10 23:45:10
【问题描述】:
我想返回给定对象和键中的最小元素,但如果给定数组为空或给定键的属性不是数组,它应该返回 undefined。 我解决了它,但我对我的方法并不完全满意。 有什么建议可以缩短我的代码吗?
let obj = {
key: [8, 5, 10, 15, 11, 21, 1, 25]
};
const smallest = (obj, key) => {
return !Array.isArray(obj[key]) || obj[key].length <= 0 ? undefined : obj[key].reduce((l, s) => l < s ? l : s)
}
smallest(obj, 'key');
【问题讨论】:
-
为了向后兼容:
Math.min.apply(Math, obj[key])。但是我想知道为什么你会传递数组或空数组以外的东西?在调用smallest之前,您可能不知道obj中有什么?我的意思是,当根本没有数字时,要求最小的数字是很奇怪的。
标签: javascript