[Vuejs]-How to add another array first to the lexicographically sorted array?

0👍

You can use array#concat to concat both cityOfTheMoscow and result array. Since you only want to add the value of Name key, you can use array#map to create an array of Name.

[].concat(cityOfTheMoscow, result.map(({Name}) => Name))

Updated code :

const cityOfTheMoscow = ['Москва','Апрелевка', 'Балашиха',  'Видное',  'Воскресенск', 'Дзержинский', 'Дмитров', 'Долгопрудный', 'Домодедово',
  'Дубна', 'Егорьевск', 'Жуковский', 'Истра', 'Клин', 'Коломна', 'Королёв', 'Лыткарино', 'Люберцы', 'Мытищи', 'Наро-Фоминск',
  'Ногинск', 'Одинцово', 'Орехово-Зуево', 'Подольск', 'Протвино', 'Пушкино', 'Раменское', 'Реутов', 'Сергиев Посад', 'Серпухов',
  'Солнечногорск', 'Старая Купавна', 'Ступино', 'Фрязино', 'Химки', 'Чехов', 'Щелково', 'Электросталь'];

const result = response.data;
result.sort(function (a, b) {
        if (a.Name > b.Name) { // 
          return 1;
        }
        if (a.Name < b.Name) {
          return -1;
        }
        return 0;
      });
const resultZips = [].concat(cityOfTheMoscow, result.map(({Name}) => Name));
const cityOfTheMoscow = ['Москва','Апрелевка', 'Балашиха',  'Видное',  'Воскресенск', 'Дзержинский', 'Дмитров', 'Долгопрудный', 'Домодедово','Дубна', 'Егорьевск', 'Жуковский', 'Истра', 'Клин', 'Коломна', 'Королёв', 'Лыткарино', 'Люберцы', 'Мытищи', 'Наро-Фоминск','Ногинск', 'Одинцово', 'Орехово-Зуево', 'Подольск', 'Протвино', 'Пушкино', 'Раменское', 'Реутов', 'Сергиев Посад', 'Серпухов','Солнечногорск', 'Старая Купавна', 'Ступино', 'Фрязино', 'Химки', 'Чехов', 'Щелково', 'Электросталь'],
      data = [{Name: 'Ростов'}, {Name: 'Москва'}, {Name: 'Щелково'}, {Name: 'Клин'}];
data.sort((a,b) => (cityOfTheMoscow.indexOf(a.Name) + 1 || Infinity) - (cityOfTheMoscow.indexOf(b.Name) + 1 || Infinity));
console.log(data);

0👍

You can use the concat method:

const newArray = cityOfTheMoscow.concat(result);

Array.concat()

const cityOfTheMoscow = ['Москва','Апрелевка', 'Балашиха',  'Видное',  'Воскресенск', 'Дзержинский', 'Дмитров', 'Долгопрудный', 'Домодедово',
      'Дубна', 'Егорьевск', 'Жуковский', 'Истра', 'Клин', 'Коломна', 'Королёв', 'Лыткарино', 'Люберцы', 'Мытищи', 'Наро-Фоминск',
      'Ногинск', 'Одинцово', 'Орехово-Зуево', 'Подольск', 'Протвино', 'Пушкино', 'Раменское', 'Реутов', 'Сергиев Посад', 'Серпухов',
      'Солнечногорск', 'Старая Купавна', 'Ступино', 'Фрязино', 'Химки', 'Чехов', 'Щелково', 'Электросталь'];

const sortedArray=cityOfTheMoscow.sort(function (a, b) {
            if (a.Name > b.Name) { // 
              return 1;
            }
            if (a.Name < b.Name) {
              return -1;
            }
            return 0;
          });
const newArray = cityOfTheMoscow.concat(sortedArray);
console.log(newArray);

Leave a comment