如何通过索引(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
答案 0 :(得分:2)
没有必要这样做,因为对象属性的排序在很大程度上取决于浏览器引擎。请参阅此material。
注意:与以数字有序方式(对于循环或其他迭代器)迭代数组索引相比,对象属性的迭代顺序不能得到保证,并且可能在不同的属性之间变化JS引擎。对于任何需要在环境中保持一致性的事物,不要依赖任何观察到的排序,因为任何观察到的协议都是不可靠的。
您可以参考此solution获取替代解决方案。
答案 1 :(得分:0)
const newData = data.map(item => ({
sex: item.sex,
city: item.city,
car: item.car,
name: item.name
});
我不知道你为什么要这样做,但这应该有效。