如何在开始时在Javascript对象中添加键/值对

Han*_*nan 2 javascript

我有以下对象:

var obj = {"last_name": "john", "age": 23, "city": "London"}
Run Code Online (Sandbox Code Playgroud)

我想在此对象的开头添加first_name的新元素,如下所示:

{"first_name": "Samuel", "last_name": "john", "age": 23, "city": "London"}
Run Code Online (Sandbox Code Playgroud)

我知道我可以做,obj.first_name = "Samuel"但它在对象的末尾添加了新元素.我怎样才能在开始时添加它?

Nin*_*olz 7

虽然对象实际上(ES5)没有顺序,但您可以生成一个新对象,Object.assign并使用new属性作为对象来开始并将给定对象分配给它.新对象具有创建顺序的属性.

var object = { last_name: "john", age: 23, city: "London" };

object = Object.assign({ first_name: "Samuel" }, object);

console.log(object);
Run Code Online (Sandbox Code Playgroud)


Sar*_*har 5

我尝试过,它适用于扩展运算符。按照下面的方式做

var object = { last_name: "john", age: 23, city: "London" };
var newObject= { first_name: "Samuel" };
object = {...newObject, ...object }
Run Code Online (Sandbox Code Playgroud)

o/p: { 名字: "塞缪尔", 姓氏: "约翰", 年龄: 23, 城市: "伦敦" };