Присваивание свойствам объекта значения по порядку

Всем привет, помогите кто может не могу никак понять как правильно сделать есть объект, к примеру

{
  field1: 'string1',
  field2: null,
  field3: 'string3',
  field4: null,
  field5: null,
  field6: 'string6'
}

подскажите плиз каким образом его можно отфильтровать что бы на выходе получить такое

{
  field1: 'string1',
  field2: 'string3',
  field3: 'string6',
  field4: null,
  field5: null,
  field6: null
}

Ответы (1 шт):

Автор решения: vsemozhebuty

Если я правильно вас понял, можно так:

'use strict';

const object = {
  field1: 'string1',
  field2: null,
  field3: 'string3',
  field4: null,
  field5: null,
  field6: 'string6',
};

const keys = Object.keys(object);
const values = Object.values(object).sort(
  (a, b) => {
    if (a === null) return b === null ? 0 : +1;
    return b !== null ? 0 : -1;
  }
);
const entries = keys.map((key, i) => [key, values[i]]);

const newObject = Object.fromEntries(entries);
console.log(newObject);

→ Ссылка