使用
_.countBy()
获取元素:计数的对象。使用
_.entries()
将其转换为元组数组。使用
_.maxBy(_.last)
找到最大值,因为计数值是元组中的第二个项目。使用
_.head()
从元组中提取元素。
var array = [3, 'a', 'a', 'a', 2, 3, 'a', 3, 'a', 2, 4, 9, 3];
var result = _.head(_(array)
.countBy()
.entries()
.maxBy(_.last));
console.log(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js"></script>
如果您正在从lodash导入特定的方法,并且不想使用链式调用,请改用_.flow()
:
var { countBy, entries, flow, head, last, maxBy, partialRight } = _;
var array = [3, 'a', 'a', 'a', 2, 3, 'a', 3, 'a', 2, 4, 9, 3];
var result = flow(
countBy,
entries,
partialRight(maxBy, last),
head
)(array);
console.log(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js"></script>
_.groupBy
、_.countBy
、_.sortBy
这样的方法” —— 我们能看到这些尝试吗?请编辑您的问题并提供一个 [mcve]。 - Sebastian Simon