@QnaTwitt

Как сортировать массив объектов?

Как сортировать массив объектов, как этот? Ввод текста для сортировки из input. Если в name null тогда брать совпадение из lastName, если не null тогда из name....

const array = [
  {
    name: 'test2',
    id: 123,
    lastName: '123he'
  },
  {
    name: null,
    id: 13,
    lastName: 'world'
  },
  {
    name: 'hello',
    id: 12,
    lastName: '13h43'
  },
  {
    name: 'text',
    id: 23,
    lastName: null
  }
];
  • Вопрос задан
  • 103 просмотра
Пригласить эксперта
Ответы на вопрос 2
@PinBib
Может так?
//Масив
const array = [
  {
    name: 'test2',
    id: 123,
    lastName: '123he'
  },
  {
    name: null,
    id: 13,
    lastName: 'world'
  },
  {
    name: 'hello',
    id: 12,
    lastName: '13h43'
  },
  {
    name: 'text',
    id: 23,
    lastName: null
  }
];
var length = array.length;
var i = 1;
while (i<length){
  if(array[i].name == null){
    if(array[i].lastName == null){
      array[i].name = array[i].name;
    } else {
      array[i].name = array[i].lastName;
    }
  }
  i++;
}
Ответ написан
Комментировать
v3shin
@v3shin
Веб-шаман
Как-то так:
const array = [...];
const input = 'test';
const filtered = array.filter(e => (e.name || e.lastName) === input);
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы