javascript - 使用 Underscore/Lodash 将对象按值排序到 AngularJS ng-repeat 的对数组中

标签 javascript angularjs underscore.js lodash

我想使用 Angular 的 ng-repeat 将信息放入前端的以下对象中。我需要按值对键/值对进行排序,并按该顺序从上到下在数组中显示它们。

我有以下对象:

{name: 32, name1: 7, name2: 83, name3: 19}

我想在前端显示类似这样的内容:

名称2:83 姓名:32 姓名3:19 姓名1:7

键/值对按值的顺序排序。我确信有一种简单的方法可以做到这一点,但我还没有意识到。

最佳答案

您无法对对象进行排序,但通过将其转换为数组,您可以轻松对其进行排序:

var obj = {name: 32, name1: 7, name2: 83, name3: 19};
var pairs = _.pairs(obj);
var sortedPairs = _.sortBy(pairs, function (p) {return -p[1]});
console.log(sortedPairs);

下一步是向他们展示:

<ul>
  <li ng-repeat="item in sortedPairs">
    {{item[0]}}: {{item[1]}}
  </li>
</ul>

关于javascript - 使用 Underscore/Lodash 将对象按值排序到 AngularJS ng-repeat 的对数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32667346/

相关文章:

javascript - Underscore.js 为什么要定义函数别名

每个函数中的 Javascript 新对象没有像我想象的那样工作

javascript - 突出显示并向小时表添加文本

javascript - jquery在append后追加一个元素

java - 我怎样才能将我自己的java类加载到javascript中?

javascript - Angular JS 中的自定义搜索过滤器

javascript - io 连接事件不会第二次触发

javascript - 如何将 html 注入(inject) Angular UI Bootstrap 弹出窗口

javascript - 未捕获的类型错误 : Cannot call method 'replace' of null

javascript - jquery.pngFix.js 使页面卡住