【问题标题】:Limit the Results from json限制来自 json 的结果
【发布时间】:2016-11-02 11:12:21
【问题描述】:
怎么可能只显示 3 个结果?我用for循环尝试过,但它总是说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]);
}
它在控制台中工作。但是如果我在jsFiddle中集成这个for-Loop,它就会中断:(。我也在Lodash中搜索了一个限制函数,但它是无望的。
【问题讨论】:
标签:
javascript
json
for-loop
html-lists
lodash
【解决方案1】:
使用_.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>