当前位置:  开发笔记 > 编程语言 > 正文

JavaScript按属性值排序字典

如何解决《JavaScript按属性值排序字典》经验,为你挑选了1个好方法。

我在JavaScript中有一个字典样式的数组对象,如下所示,并希望按属性对其进行排序.怎么做?我知道类似的问题已得到解答,但我认为我的结构不同.简单地运行array.sort(compare)对我不起作用,因为我没有索引的整数.谢谢!

var myData = {
    "userOne": {
        "firstName": "Felix",

    },
    "userTwo": {
        "firstName": "Bob",

    },
    "userThree": {
        "firstName": "Anna",

    }
}

我想对上面的数组myData进行排序,firstName以便Anna首先出现对象,然后是Bob,然后是Felix.非常感谢!!



1> Yoni Mor..:

您可以使用可迭代的ES6映射:

var myData = new Map();
myData.set('userOne', {'firstName': 'Felix'});
myData.set('userTwo', {'firstName': 'Bob'});
myData.set('userThree', {'firstName': 'Anna'});

function sortByProp(data, prop) {
  return new Map([...data.entries()].sort((a, b) => a[1][prop] > b[1][prop]));
};

console.log(sortByProp(myData, "firstName"));

推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有