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

时间:2017-08-20 16:33:11

标签: javascript

我有以下对象:

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

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

{"first_name": "Samuel", "last_name": "john", "age": 23, "city": "London"}

我知道我可以做obj.first_name = "Samuel"但是它会在对象的末尾添加新元素。如何在开始时添加它?

3 个答案:

答案 0 :(得分:7)

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



#include<iostream>
using namespace std;
struct node
{
    int value;
    node *next;
};
node *head;
void addnode(int);
void destroytree();
int main()
{
    head=new node;
    head=NULL;
    int no,ch=1;
    while(ch!=0)
    {
        cout<<"Enter Choice (0 exit, 1 enter): ";
        cin>>ch;
        if(ch==0) break;
        cout<<"Enter no: ";
        cin>>no;
        addnode(no);
    }
    cout<<"\nTime to print.\n\n";
    destroytree();
    cout<<endl;
    return 0;
}
void addnode(int no)
{
    node *n=new node;
    node *trav;
    trav=head;
    while(trav!=NULL && trav->next!=NULL)
    {
        trav=trav->next;
    }
    if(trav==NULL)
    {
        trav->value=no;
        trav->next=NULL;
        return;
    }
    n->value=no;
    n->next=NULL;
    trav->next=n;
}
void destroytree()
{
    node *n;
    while(head!=NULL)
    {
        n=head;
        cout<<head->value<<"->NEXT **   ";
        head=head->next;
        delete n;
    }
}
&#13;
&#13;
&#13;

答案 1 :(得分:3)

我尝试过,它可以与传播算子一起使用。以下面的方式做

var object = { last_name: "john", age: 23, city: "London" };
var newObject= { first_name: "Samuel" };
object = {...newObject, ...object }

o / p:{first_name:“ Samuel”,last_name:“ john”,年龄:23​​,城市:“ London”};

答案 2 :(得分:0)

可以与点差运算符一起使用,对订单信心不足

var object = {last_name:“ john”,年龄:23​​,城市:“ London”};

var newObj = {first_name:“塞缪尔”,...对象}

console.log(newObj);