【问题标题】: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);
    &lt;script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.16.6/lodash.min.js"&gt;&lt;/script&gt;

    【讨论】:

      猜你喜欢
      • 2016-04-25
      • 2011-01-18
      • 2015-02-26
      • 2012-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-20
      相关资源
      最近更新 更多