gpt4 book ai didi

javascript - 从对象中检索数据

转载 作者:行者123 更新时间:2023-12-03 07:09:18 25 4
gpt4 key购买 nike

我有一个看起来像这样的对象。

{
"class_details":{
"class_1":{student_4":"<name>","student_3":"<name>,student_2":"<name>","student_1":"<name>},
"class_2":{"student_1":"<name>},
"class_0":{student_2":"<name>","student_1":"<name>
}
}

我正在尝试使用循环来迭代类,但我无法找到完美的方法来做到这一点。

我不能做这样的事情

for(int i=0; i < $scope.rounds.class_details.length;i++)
console.log($scope.rounds.class_details.round_[i])

所以我正在这样做

for(int i=0; i < $scope.rounds.class_details.length;i++)
console.log(Object.keys($scope.rounds.class_details)[i])

但是这里的类详细信息并不是按顺序排列的,这对我来说很重要。

如果有类似的替代方案就太好了

 for(int i=0; i < $scope.rounds.class_details.length;i++)
console.log($scope.rounds.class_details.round_[i])

或者是否有一种简单的方法来对 JSON 类详细信息进行排序。

最佳答案

要按升序获取键,请执行以下操作:

 var class_details_keys = Object.keys($scope.rounds.class_details);
class_details_keys = class_details_keys.sort(function(a,b) {return (+a.substring(6)) - (+b.substring(6));});
for(int i=0, length = class_details_keys ; i < length;i++)
console.log($scope.rounds.class_details[class_details_keys[i]]);

这将通过获取“class_”后面的子字符串并对它们进行排序,以升序返回您的类。您无法进行简单的字符串比较,因为“4”>“10”将返回错误的结果。

关于javascript - 从对象中检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36679288/

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