javascript - 循环遍历对象数组并对它们进行排序

标签 javascript arrays sorting

我有一个包含一些对象的数组,我试图循环遍历它,其中我按以下顺序存储数据:

名字:爱丽丝
姓氏:仙境
年龄: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/

相关文章:

java - 合并过程数组越界

javascript - AngularJS : index not updating after removing array item(s) by index

javascript - 为什么 styled-components 将我的属性添加到 DOM 中?

javascript - 阻止 "stop execution of this script"消息

arrays - 如何将数组作为参数传递给 Bash 中的函数

iphone - 使用 NSArray *sort* 方法后,我负责释放返回的数组吗

javascript - KnockoutJS - 单击按钮后数据绑定(bind)不会更改文本

javascript - 使用 NodeJS 从外部页面返回 Javascript 变量数据

C:我需要一个接受并返回可变大小数组的函数

python - 在 Python 中根据个位、十位、百位数字对列表进行排序