让我说我有一个对象数组:
let movies = [
{
"title": "Last Flag Flying",
"year": 2017,
"cast": ["Steve Carell","Bryan Cranston"],
"genres": ["Comedy","Drama"],
"id": 1
},
{
"title": "Lady Bird",
"year": 2017,
"cast": ["Saoirse Ronan","Laurie Metcalf","Tracy Letts"],
"genres": ["Comedy","Drama"],
"id": 2
},
];
我想将最后一个属性id
移到第一个索引。我的意思是每个对象都应以{"id": ...}
开头
答案 0 :(得分:0)
不能。 JavaScript对象被明确声明为 unordered 。对象属性排序在ECMAScript 6(ES2015)中得到了很大的改进,但是仍然不能保证顺序,特别是在旧版本上。
如果顺序对您而言确实很重要,则使用数组-这是一种可以保证其顺序的特定对象,但只能使用其自己的数字索引。如果您将非数字键添加到数组,该值可能会出现乱序。如果您想记住属性的插入顺序(非常有用),则应使用ES6中也引入的Map。
答案 1 :(得分:0)
不知道您可能需要什么,但可以使用以下技巧:
var X = ["I'm id", "I'm x"];
X.id = X[0];
X.x = X[1];
console.log(X[0], X.id)