如何按对象的值按字母顺序而不是键排序?这是一个对象
{
1: "Arabic"
2: "Bulgarian"
3: "Catalan"
4: "Chinese"
5: "Croatian"
6: "Czech"
7: "Danish"
8: "Dutch"
9: "English"
10: "Estonian"
11: "Finnish"
12: "French"
13: "German"
14: "Greek"
15: "Hebrew"
16: "Hungarian"
17: "Icelandic"
18: "Indonesian"
19: "Italian"
20: "Japanese"
21: "Korean"
22: "Latvian"
23: "Lithuanian"
24: "Norwegian"
25: "Polish"
26: "Portuguese"
27: "Romanian"
28: "Russian"
29: "Serbian"
30: "Slovak"
31: "Slovenian"
32: "Spanish"
33: "Swedish"
34: "Turkish"
35: "Afrikaans"
}
,并按字母顺序显示所需输出。
{ 35:“南非荷兰语”1:“阿拉伯语”2:“保加利亚语”3:“加泰罗尼亚语”4:“中文”5:“克罗地亚语”6:“捷克语”7:“丹麦语”8:“荷兰语”9:“英语”10:“爱沙尼亚语”11:“芬兰语”12:“法语”13:“德语”14:“希腊语”15:“希伯来语”16:“匈牙利语”17:“冰岛语”18:“印度尼西亚语”19:“意大利语”“20:”日语“21:”韩语“22:”拉脱维亚语“23:”立陶宛语“24:”挪威语“25:”波兰语“26:”葡萄牙语“27:”罗马尼亚语“28:”俄语“29:”塞尔维亚语“30:”斯洛伐克语“31:”斯旺尼亚语“32:”西班牙语“33:”瑞典语“34:”土耳其语“}
发布于 2021-07-01 16:39:35
欢迎来到stackOverflow,这个问题将会出现在Javascript section上。
const obj = {1: "Arabic", ... }
对于你的问题,如果你需要一个排序的数组:
const sorted = Object.values(obj).sort();
如果你需要一个带排序数组的对象:
const newObj = {}
sorted.forEach((name, index) => newObj[index] = name)
发布于 2021-07-01 17:00:33
实际上,它是一个对象,而不是给定输入的数组。我们不能对对象进行排序,但我们可以通过覆盖Iterator接口来确定对象的迭代顺序,如下所示:
const myObj = {
1: "Arabic",
2: "Bulgarian",
3: "Catalan",
4: "Chinese",
5: "Croatian",
6: "Czech",
7: "Danish",
8: "Dutch",
9: "English",
10: "Estonian",
11: "Finnish",
12: "French",
13: "German",
14: "Greek",
15: "Hebrew",
16: "Hungarian",
17: "Icelandic",
18: "Indonesian",
19: "Italian",
20: "Japanese",
21: "Korean",
22: "Latvian",
23: "Lithuanian",
24: "Norwegian",
25: "Polish",
26: "Portuguese",
27: "Romanian",
28: "Russian",
29: "Serbian",
30: "Slovak",
31: "Slovenian",
32: "Spanish",
33: "Swedish",
34: "Turkish",
35: "Afrikaans",
};
myObj[Symbol.iterator] = function* () {
const entries = Object.entries(this).sort((a, b) => a[1].localeCompare(b[1]));
for (const [key, value] of entries) {
// you could determine what structure looks like here
yield { [key]: value };
}
};
for (const x of myObj) {
console.log(x);
}
https://stackoverflow.com/questions/68206846
复制相似问题