Riveran
@Riveran
Astartes

Как отсортировать массив адресов по возрастанию квартиры?

Добрый день, у меня есть такой массив:
const array = [
		{address: "ул.Колоса, 115, кв. 01"},
		{address: "ул.Колоса, 115, кв. 20"},
		{address: "ул. Т.Дудко 3А,  кв.11, кухня, гор. вода"},
		{address: "ул. Т.Дудко 3А,  кв.53, кухня, гор. вода"},
		{address: "ул.Колоса, 115, кв. 05"},
		{address: "ул.Колоса, 115, кв.31"},
		{address: "ул.Колоса, 115, кв. -"},
		{address: "ул. Т.Дудко 3А,  кв.10, кухня, гор. вода"},
		{address: "ул. Т.Дудко 3А,  кв.19, кухня, гор. вода"},
		{address: "ул. Т.Дудко 3А,  кв.04, кухня, гор. вода"},
	]

Как его можно отсортировать возрастанию квартиры?
  • Вопрос задан
  • 107 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
const sortedArr = arr
  .map(n => [ n, +(n.address.match(/кв.\s*(\d+)/) || [ Infinity ]).pop() ])
  .sort((a, b) => a[1] - b[1])
  .map(n => n[0]);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы