2016-08-19 3 views
0
var friends=new Object(); 
friends.bill=new Object(); 
friends.steve=new Object(); 
var friends={ 
    bill:{ 
     firstName: "Bill", 
     lastName: "gates", 
     number:'040404040', 
     address: ['bcd','sdad'] 
     } 
}; 
var friends={ 
    steve:{ 
     firstName: "Steve", 
     lastName: "Jobs", 
     number:'131313131', 
     address:['abc','sdsdsd'] 
     } 
}; 
console.log(friends); 

このプログラムの出力はすべてオブジェクト "steve"に関するものです。私が "friends.steve"を記録すると、 "undefined"としてログに記録されます。私は出力がオブジェクトの友人の2つの異なるオブジェクトになりたい。1つのオブジェクトに2つの異なるオブジェクトを作成しました。それらを印刷すると、最後に修正されたオブジェクトだけが表示されます。どのように作成する?

答えて

1

以前作成したオブジェクトを上書きしています。

むしろ、あなたはこれが第一の目的と新しいインスタンスが代わりに行われますオーバーライドする変数の友人を定義し、次の数行で再び

'var friends={ 
    bill:{' 

をオーバーライドし、あなたのコードでは

var friends=new Object(); 
friends.bill=new Object(); 
friends.steve=new Object(); 
friends.bill={ 
     firstName: "Bill", 
     lastName: "gates", 
     number:'040404040', 
     address: ['bcd','sdad'] 
}; 
friends.steve={ 
     firstName: "Steve", 
     lastName: "Jobs", 
     number:'131313131', 
     address:['abc','sdsdsd'] 
     }; 
console.log(friends); 
0

を試してみてください。

は、このコードを試してみて、これはあなたがアレイを使用することができます変数に複数の値を保存するには、あなたの問題

var friends = new Object(); 

    friends.bill = { 
     firstName: "Bill", 
     lastName: "gates", 
     number:'040404040', 
     address: ['bcd','sdad'] 
    }; 

    friends.steve ={ 
     firstName: "Steve", 
     lastName: "Jobs", 
     number:'131313131', 
     address:['abc','sdsdsd'] 
    }; 

    console.log(friends); 
+0

これは疑問に答えるかもしれませんが、理由については説明がありません。コード自体ではほとんどありません。 OPや他の人があなたのコードがなぜ優れているのか、質問に表示されているコードに何が間違っているのかを理解できるように説明を加えてください。 – GregL

1

を解決します。

var bill = { 
    firstName: "Bill", 
    lastName: "gates", 
    number:'040404040', 
    address: ['bcd','sdad'] 
} 

var steve = { 
     firstName: "Steve", 
     lastName: "Jobs", 
     number:'131313131', 
     address:['abc','sdsdsd'] 
} 

var friends = [bill, steve]; 
console.log(friends); 

また、あなたのコードでは、同じ名前で定義された変数を上書きする変数友人を、定義しています。さらに、friendのクラスを定義し、クラスから2つのオブジェクトを作成することができます。

function Friend(firstname, lastname, number, address) 
{ 
    this.firstname = firstname; 
    this.lastname = lastname; 
    this.number = number; 
    this.address = address; 
} 

var bill = new Friend("Bill", "gates", "address", 040404040 ,['bcd','sdad']); 
var steve = new Friend("Steve", "Jobs", "address", 131313131, ['abc','sdsdsd']); 
var friends = [bill, steve]; 
console.log(friends); 
関連する問題