Scroll through an array of objects and sort them

I have an array containing some objects, and I'm trying to skip it, where I have data stored in the following order:

firstName: Alice
lastName: Wonderland
age: 12

I try to execute a loop, and then sort it in descending order, when it age: valueshould be in the first position, then> lastName: WonderlandfirstName appears and finally.

Here is my code up to this point

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]);
      }
    }
  }
}
Run codeHide result

I want to get the reverse order (descending) when I post the result in console.log();:

age: 12,
lastName: 'Wonderland',
firstName: 'Alice'

age:14,
lastName: 'Mathison',
firstName: 'Thomas'

age:18,
lastName: 'Jacobsen',
firstName: 'David'

I am not sure about the behavior of the sort function. How should it work during a cycle?

Any suggestions?

+4
4

[].unshift()

var result = [];
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)) {
        result.unshift(prop + ': ' + obj[prop])
      }
    }
  }
}

console.log(result)

https://plnkr.co/edit/N4Zt28zh0A3MpwoOrzmZ?p=preview

+1

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
Hide result
+1

- ( , , ) . , .

, .

-, , . :

a b - . return 1 , a "", -1 b "", 0 , , , "". if, , , :

.

function compare_people(a, b) {
  if (a.age < b.age) {
    return -1;
  }

  if (a.age > b.age) {
    return 1;
  }

  if (a.lastName < b.lastName) {
    return -1;
  }

  if (a.lastName > b.lastName) {
    return 1;
  }

  if (a.firstName< b.firstName) {
    return -1;
  }

  if (a.firstName> b.firstName) {
    return 1;
  }

  return 0;
}

, , javascript. data, :

data.sort(compare_people); 

, !

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort

.

+1

-, , , , , , ( , " , , :

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];
  var newArr = [];
  for (var i = 0; i < arr.length; i++) {
    var obj = arr[i];
    newArr.push({
      age: obj.age,
      firstName: obj.firstName,
      lastName: obj.lastName
    })
  }
  data[key] = newArr;
}

, , , , .

+1

Source: https://habr.com/ru/post/1668182/


All Articles