根据教程here ,
A collection can either be an array or an object, an associate array in JavaScript
这是否意味着collection
下的所有函数都同样适用于对象文字。
例如,我想根据条件选择值。说,
var obj = {
"1": {id: 1, val: 2},
"2": {id: 2, val: 5},
"3": {id: 3, val: 8},
"4": {id: 4, val: 1}
}
我想找到 val 字段的最大值和最小值。查看 API,我想使用 pluck
获取 val
数组,然后执行 min
和 max
>.
- 我可以将 pluck 应用于对象吗(如 API 示例所示,它显示了在对象数组中的使用)
- 有更好的方法吗?
谢谢。
最佳答案
does that mean all the functions under collection is equally applicable to object literals?
Yes .
can I apply pluck to object (as the api example show the use in an array of objects)
你尝试过吗?是的,你可以,但是你会得到一个数组。
is there a better way?
Math.min.apply(null, _.pluck(obj, "val"))
(或 _.min(_.pluck(obj, "val"))
) 来获取最小值就可以了。然而,如果您想获取整个对象(带有 id),您也可以使用 iterator
parameter最小/最大:
var lowest = _.min(obj, function(o){return o.val;});
关于javascript - 下划线查找对象值的最小值和最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15851369/