Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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_Object - Fatal编程技术网

javascript中基于值的对象键排序

javascript中基于值的对象键排序,javascript,object,Javascript,Object,我收到来自第三方api的奇怪响应,如下所示 { "27000CE": -1, "27100CE": 2, "27300CE": -1, "27200CE": 5 } sortArrayOfObjects = (arr, key) => { return arr.sort((a, b) => { return a[key] - b[key]; }); }; 如何按值对其进行排序 像上升或下降 { "27300CE": -1,

我收到来自第三方api的奇怪响应,如下所示

{
  "27000CE": -1,
  "27100CE": 2,
  "27300CE": -1,
  "27200CE": 5
}
sortArrayOfObjects = (arr, key) => {
    return arr.sort((a, b) => {
        return a[key] - b[key];
    });
};
如何按值对其进行排序

像上升或下降

{
  "27300CE": -1,
  "27000CE": -1,
  "27100CE": 2,
  "27200CE": 5
}
我试过下面的方法

{
  "27000CE": -1,
  "27100CE": 2,
  "27300CE": -1,
  "27200CE": 5
}
sortArrayOfObjects = (arr, key) => {
    return arr.sort((a, b) => {
        return a[key] - b[key];
    });
};

但是所有的键都不同,这就是问题所在。

我相信您会收到一个对象,在这种情况下,您的输入将如下所示:

let obj = {"27300CE": -1, "27200CE": 5, "27100CE": 2, "27000CE": -1}
您可以按如下值进行排序:

let keys = Object.keys(obj);

// Then sort by using the keys to lookup the values in the original object:
keys.sort(function(a, b) { return obj[a] - obj[b] });

console.log(keys);//["27300CE", "27000CE", "27100CE", "27200CE"]
根据新的键序列,您可以创建一个新的对象,如果您愿意,可以排序一个对象。您可以对进行排序,然后使用创建一个新对象,如下所示:

let obj = {"27300CE": -1, "27200CE": 5, "27100CE": 2, "27000CE": -1}
const响应={
“27100CE”:2,
“27000CE”:-1,
“27300CE”:-1,
“27200CE”:5
}
const sorted=Object.entries(响应)
.sort((a,b)=>a[1]-b[1])
.reduce((r[键,值])=>{
r[键]=值
返回r
}, {})

console.log(排序)
yea这一类型似乎类似于object,,但这就是我收到的API响应这是文本响应吗?比如,API是否发送了这个精确的字符串?如果是这样的话,第一步就是手动将其解析为一个实际的数组/对象。嗨,我编辑了我的问题,请删除下一票,谢谢你嗨,这是唯一的排序键,我需要它的值。是的,你可以用它生成一个新的排序对象,我不知道这是一个大问题