Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中按值对映射进行排序,并将一个字段索引保留在顶部_Javascript_Typescript - Fatal编程技术网

在javascript中按值对映射进行排序,并将一个字段索引保留在顶部

在javascript中按值对映射进行排序,并将一个字段索引保留在顶部,javascript,typescript,Javascript,Typescript,在这个论坛上,这可能是一个非常简单的问题,但我找不到javascript新手的答案。 我有以下javascript代码- Let map = new Map<String,String> map.set('0', select) map.set('1', "foo"); map.set('2', "bar"); map.set('3', "baz"); 你能在这方面帮我吗?你可以得到地图的颜色并对数组进行排序 要将某个值移

在这个论坛上,这可能是一个非常简单的问题,但我找不到javascript新手的答案。 我有以下javascript代码-

Let map = new Map<String,String>
map.set('0', select)
map.set('1', "foo");
map.set('2', "bar");
map.set('3', "baz");
你能在这方面帮我吗?

你可以得到地图的颜色并对数组进行排序

要将某个值移到顶部(或将该值保持在顶部),需要一个反映所需订单的返回值。在这种情况下,根据条件取a,如果像零一样,取a后的第二部分

let map=new map();
map.set('0','Select');
map.set('1','foo');
映射集('2','bar');
地图集('3','baz');
结果=数组.from(map).sort([,a],,b])=>
(b=='Select')-(a=='Select')|| a.localeCompare(b)
);

控制台日志(结果)
您可以对键进行排序并按顺序访问它们(即,
Object.keys(obj).sort()
)将接受的答案应用于问题的代码:
map=newmap([…map].sort([k1,v1],[k2,v2])=>v1.localeCompare(v2))谢谢尼娜。。我接受了这个答案。我在map中有一个条目,如下-map.set('0','Select')是否可以对其他条目进行排序并将Select保持在顶部?您需要检查顶部值并获取检查的增量。请参阅编辑。非常感谢您提供的代码:)我在(b=='Select')-(a=='Select')上遇到以下错误算术运算的左侧必须键入'any'、'number'、'bigint'或enum type您可以将值强制转换为number:
number(b=='Select')-number(a=='Select')
[{'0':'Select'},{'2':'bar'}, {'3':'baz'}, {'1': 'foo'}];