Это должно сделать:
x.sort((a,b) => a === 'oip'? 1 : -1)
Вы можете узнать больше о сортировать здесь .
Если a и b - это два сравниваемых элемента, то:
blockquote>
- Если compareFunction (a, b) меньше 0, сортируйте a по индексу ниже b (то есть a на первом месте).
- Если compareFunction (a, b) возвращает 0, оставьте a и b неизменными по отношению друг к другу, но отсортированные по всем различным элементам. Примечание: стандарт ECMAscript не гарантирует такого поведения, и поэтому не все браузеры (например, версии Mozilla, датируемые как минимум 2003 годом) соблюдают это.
- Если compareFunction (a, b) больше 0, сортируйте b по индексу, меньшему, чем a (т. Е. B стоит первым).
- compareFunction (a, b) всегда должна возвращать одно и то же значение, если задана определенная пара элементов a и b в качестве двух аргументов. Если возвращаются противоречивые результаты, порядок сортировки не определен.
Этот ответ работал для примера, изложенного OP. Однако, чтобы быть более полным (спасибо за указание на это @Pointy ), вот полная версия:
x = [ {qualifier: 'abc'}, {qualifier: 'oip'}, {qualifier: 'def'}, {qualifier: 'gij'}, {qualifier: 'oip'}, ]; y = x.sort((a, b) => { if (a.qualifier === b.qualifier && a.qualifier === 'oip') { return 0; } else if (a.qualifier === 'oip') { return -1; } else if (b.qualifier === 'oip') { return 1; }else { return a.qualifier > b.qualifier? 1 : -1; } });
Чтобы получить наилучший ответ на этот вопрос, я объединяю все ответы на на этот вопрос .
Альтернативы Google Maps API:
Облако MapTiler: https://cloud.maptiler.com/
Microsoft Maps API: http://www.microsoft.com/maps/developers/web.aspx
MapQuest: http://developer.mapquest.com/
(предоставлено TuxGeek )
Mapjam: http : //mapjam.com
API OpenStreetMap: http://wiki.openstreetmap.org/wiki/API_v0.6
OpenStreetMap Android http: // wiki .openstreetmap.org / wiki / Android
(предоставлено AGrunewald )
GraphHopper Directions и Matrix API https: //graphhopper.com/#directions-api
(предоставлено karussell )