我有一个包含一些对象的数组,我试图循环遍历它,其中我按以下顺序存储数据:
名字:爱丽丝
姓氏:仙境
年龄:12
我正在尝试循环,然后按降序对它进行排序,其中 age: value
应该排在第一位,然后 > lastName: Wonderland
出现,最后是 firstName。
这是我的代码直到这一刻
var data = {
example1: [{
firstName: 'Alice',
lastName: 'Wonderland',
age: 12
}],
example2: [{
firstName: 'Thomas',
lastName: 'Mathison',
age: 14
}],
example3: [{
firstName: 'David',
lastName: 'Jacobsen',
age: 18
}]
};
for (var key in data) {
var arr = data[key];
for (var i = 0; i < arr.length; i++) {
var obj = arr[i];
for (var prop in obj) {
if (obj.hasOwnProperty(prop)) {
console.log(prop + ': ' + obj[prop]);
}
}
}
}
我想在console.log();
中输出结果时实现倒序(降序):
age: 12,
lastName: 'Wonderland',
firstName: 'Alice'
age:14,
lastName: 'Mathison',
firstName: 'Thomas'
age:18,
lastName: 'Jacobsen',
firstName: 'David'
我不确定排序函数的行为。它在循环中应该如何工作?
有什么建议吗?
最佳答案
var data = {
example1: [{
firstName: 'Alice',
lastName: 'Wonderland',
age: 12
}],
example2: [{
firstName: 'Thomas',
lastName: 'Mathison',
age: 14
}],
example3: [{
firstName: 'David',
lastName: 'Jacobsen',
age: 18
}]
};
var objectArray=[];
for (var key in data) {
var arr = data[key];
for (var i = 0; i < arr.length; i++) {
var obj = arr[i];
objectArray.push(obj);
}
}
objectArray.sort(function(element1,element2){
return element2.age - element1.age
}); //now iterate over the array it is sorted in descending order
关于javascript - 循环遍历对象数组并对它们进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41920632/