gpt4 book ai didi

javascript - 按值对映射/哈希进行排序,保留键

转载 作者:行者123 更新时间:2023-11-28 12:21:59 25 4
gpt4 key购买 nike

我很难找到这个问题的答案。

我想在 JavaScript 中使用哈希,如下所示:

const hash = {
a: 'A',
c: 'C',
b: 'B'
}

我想按对对象进行排序,这样它可能会变成:

const hash = {
a: 'A',
b: 'B',
c: 'C',
}

现在,我意识到 POJSO 不能保证其键的顺序,因此我正在考虑使用 immutableJS 或某些可以保证哈希中键的顺序的对象。

所以我正在寻找类似的东西:

var newHash = Immutable.Map(hash).sortBy(function(key,val){
return val;
});

但我不相信这存在。这个要求是否太过分了?我怎样才能找到这个功能?

最佳答案

Lodash 一行:

sorted = _(hash).toPairs().sortBy(1).fromPairs().value();

实例:

var data = {a: 'A', c: 'C', b: 'B'};
var hash = _(data).toPairs().sortBy(1).fromPairs().value();
Object.getOwnPropertyNames(hash).forEach(n => {
snippet.log("hash['" + n + "'] = " + hash[n]);
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.6.1/lodash.min.js"></script>
<!-- Script provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="//tjcrowder.github.io/simple-snippets-console/snippet.js"></script>

关于javascript - 按值对映射/哈希进行排序,保留键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36079323/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com