【发布时间】:2020-09-04 07:37:14
【问题描述】:
我正在尝试使用地图更改字段名称之一,但我看到项目的顺序正在改变。
var arrOfObj = [
{
name: "test1",
value: "value1"
},
{
name: "test2",
value: "value2"
}
];
function changeKeyName(arr, oldValue, newVal) {
return arr.map(item => {
item[`${newVal}`] = item[`${oldValue}`];
delete item[`${oldValue}`];
return item;
});
}
console.log(changeKeyName(arrOfObj, "name", "type"));
有什么方法可以在更改其中一个字段名称的同时保持项目的顺序。
O/P:
[{type:"test1",value: "value1"}, {type: "test2", value:"value2"}]
提前致谢
【问题讨论】:
-
我无法复制。
test1保留数组中的第一项,test2保留第二项。 -
另外,您的“O/P”在两个对象之间缺少
},{ -
不能设置对象键的顺序。
-
@GetOffMyLawn 当然可以 - ES2020 makes it official,而且环境多年来一直具有确定性的属性顺序
标签: javascript arrays ecmascript-6 ecmascript-5