gpt4 book ai didi

javascript - 对对象内的 javascript 键/值对进行排序

转载 作者:行者123 更新时间:2023-11-30 08:47:33 26 4
gpt4 key购买 nike

我在对对象内的项目进行排序时遇到了一些问题。所以我有这样的东西:

var someObject = {
'type1': 'abc',
'type2': 'gty',
'type3': 'qwe',
'type4': 'bbvdd',
'type5': 'zxczvdf'
};

我想按值对 someObject 进行排序,这就是我遇到问题的地方。我有排序函数,应该返回按值排序的键/值对:

function SortObject(passedObject) {
var values = [];
var sorted_obj = {};

for (var key in passedObject) {
if (passedObject.hasOwnProperty(key)) {
values.push(passedObject[key]);
}
}

// sort keys
values.sort();

// create new object based on Sorted Keys
jQuery.each(values, function (i, value) {
var key = GetKey(passedObject, value);
sorted_obj[key] = value;
});

return sorted_obj;
}

获取 key 的函数:

function GetKey(someObject, value) {
for (var key in someObject) {
if (someObject[key] === value) {
return key;
}
}
}

问题出现在创建新的返回对象时的最后一部分 - 它再次按键排序。为什么?这是我必须对对象而不是数组进行操作的特定情况(是的,我知道那样会更容易...)

有谁知道如何对对象中的项目进行排序?

最佳答案

普通对象根本没有秩序。数组 - 一种特殊类型的对象 - 具有。

您可以拥有的最接近的东西是对象值已排序的数组。例如:

 _valuesOfAnObjectSorted = Object.keys(object).map(function(k){ return object[k]; }).sort();

关于javascript - 对对象内的 javascript 键/值对进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20699063/

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