怎么可能只显示 3 个结果?我用 for-Loop 尝试过,但它总是显示 NaN。我正在使用 Lodash。这是我的 jsFiddle:https://jsfiddle.net/kxohm0qh/ .
我只想显示 3 个结果。就像我说的,当我没有像这样使用 _.map 时,我用 for-Loop 尝试了它:
for(var i = 0; i<3; i++){
var sorted = _.sortBy(data.car, 'roads').reverse();
console.log(sorted[i]);
}
它在控制台中工作。但是如果我将这个 for-Loop 集成到 jsFiddle 中,它就会中断:(。我也在 Lodash 中搜索了 limit 函数,但没有希望。
最佳答案
使用_.take()
限制结果:
var data = {
"cars": [{
"number": 5,
"car_name": "Mercedes",
"roads": 55
}, {
"number": 6,
"car_name": "Ford",
"roads": 41
}, {
"number": 9,
"car_name": "Darcia",
"roads": 36
}, {
"number": 3,
"car_name": "BMW",
"roads": 61
}, {
"number": 11,
"car_name": "Nissan",
"roads": 25
}]
};
var sorted = _.take(_.reverse(_.sortBy(data.cars, 'roads')), 3);
console.log(sorted);
/** you can also use a chain **/
var sortedchained = _(data.cars)
.sortBy('roads')
.reverse()
.take(3)
.value();
console.log(sortedchained);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.16.6/lodash.min.js"></script>
关于javascript - 限制 json 的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40378521/