Javascript обменять элементы объекта - PullRequest
0 голосов
/ 06 июня 2018

как поменять два элемента в объекте в массиве по индексу (oldIndex, newIndex)?

исходный массив:

const data = [
  {
    city: 'London',
    sex: 'Female',
    car: 'Honda Accord',
    name: 'Lisa',
  },
  ...
];

Мне нужно получить новый массив объектов сoldIndex = 0, newIndex = 1

const newData = [
  {
    sex: 'Female',
    city: 'London',
    car: 'Honda Accord',
    name: 'Lisa',
  },
  ...
];

предпочтительно с использованием ES6

Ответы [ 2 ]

0 голосов
/ 06 июня 2018

В этом нет никакого смысла, поскольку упорядочение свойств объекта очень сильно зависит от движков браузера.Пожалуйста, обратитесь к этому материалу .

Примечание: В отличие от итерации по индексам массива в числовом порядке (для цикла или других итераторов), порядок итерации поСвойства объекта не гарантируются и могут различаться в зависимости от различных движков JS.Не полагайтесь на любые наблюдаемые заказы для чего-либо, что требует согласованности между средами, поскольку любое наблюдаемое соглашение ненадежно.

Вы можете обратиться к этому решению для альтернативного решения.

0 голосов
/ 06 июня 2018
const newData = data.map(item => ({
  sex: item.sex,
  city: item.city,
  car: item.car,
  name: item.name
});

Понятия не имею, почему вы хотите это сделать, но это должно сработать.

...