Отсортируйте массив так, чтобы в нем сначала были определенные элементы

У меня есть массив как таковой:

[{flag: true, other: 1},
 {flag: true, other: 2},
 {flag: false, other: 3},
 {flag: true, other: 4},
 {flag: true, other: 5},
 {flag: true, other: 6},
 {flag: false, other: 7}]

Я хочу это:

[{flag: false, other: 3},
 {flag: false, other: 7},
 {flag: true, other: 1},
 {flag: true, other: 2},
 {flag: true, other: 4},
 {flag: true, other: 5},
 {flag: true, other: 6}]

В основном я хочу, чтобы if array [2] .flag === false (или любое другое значение, которое я выберу) соответствующий элемент помещается в массив первым, но после предыдущих совпадающих элементов. Элементы, которые не совпадают, остаются в том же порядке, в котором они были изначально.

Порядок появления важен.

Как это лучше всего сделать в JavaScript?

11
задан pimvdb 7 August 2011 в 16:36
поделиться