Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   помогите отсортировать объект? (https://javascript.ru/forum/css-html/57875-pomogite-otsortirovat-obekt.html)

san40511 24.08.2015 23:23

помогите отсортировать объект?
 
У меня есть массив объектов например :

[0: {categoryId: 3,
           color: "#ffffff",
           date: 1440350605364,
           id: 1440350605366,
           position: 0,
           text: "gkjjghh"
          },
     1: {categoryId: 3,
           color: "#ffffff",
           date: 1440350605364,
           id: 1440350605366,
           position: 2,
           text: "gkjjghh"
          },
      2: {categoryId: 3,
           color: "#ffffff",
           date: 1440350605364,
           id: 1440350605366,
           position: 1,
           text: "gkjjghh"
          }]


Итак вопрос: Как мне отсортировать сие чудо по полю position и вернуть такой же массив объектов но отсортированный по позиции? Буду ооооочень благодарен за правильные ответы.

san40511 24.08.2015 23:45

я же написал массив объектов. вообщем решил я эту задачу. По данному примеру. все оказалось до глупого просто :)

// Наша функция сравнения
function compareAge(personA, personB) {
return personA.age - personB.age;
}

// проверка
var vasya = { name: "Вася", age: 23 };
var masha = { name: "Маша", age: 18 };
var vovochka = { name: "Вовочка", age: 6 };

var people = [ vasya , masha , vovochka ];

people.sort(compareAge);

// вывести
for(var i = 0; i < people.length; i++) {
alert(people[i].name); // Вовочка Маша Вася
}

krasovsky 25.08.2015 06:51

http://javascript.ru/Array/sort
Чем тебя пример не устроил? Видно же что функция сортировки должна возвращать 0,1 или -1, а у тебя что?

san40511 25.08.2015 11:08

Цитата:

Сообщение от Rise (Сообщение 385448)
san40511, глупей не придумать, если учесть что пример не данный.

Был создан массив в который из локал сторадж с помощью push добавлялись объекты в порядке хронологии.
Короче все работает :)
В любом случае спасибо за ответы.


Часовой пояс GMT +3, время: 17:16.