我一直在搜索和搜索,但却找不到解决方案......即使很可能也很简单。我如何创造能够给我这个的东西:
myArray['key1'].FirstName = "First1";
myArray['key1'].LastName = "Last1";
myArray['key2'].FirstName = "First2";
myArray['key2'].LastName = "Last2";
myArray['key3'].FirstName = "First3";
myArray['key3'].LastName = "Last3";
然后说出类似警告的内容(myArray [' key2']。FirstName);
我能否像以下一样迭代它:
for(i=0; i < myArray.length; i++){
//do whatever
}
提前致谢!
答案 0 :(得分:1)
在JavaScript中,我们使用这样的数组,[]
用于数组,对象在{}
var MyArray = [
{FirstName: "Firsname1" , LastName: "Lasname1"},
{FirstName: "Firsname2" , LastName: "Lasname2"}
]
答案 1 :(得分:1)
你可以初始化一个类似的对象:
{
"key1": {FirstName: "first1", LastName: "last1"}
"key2": {FirstName: "first2", LastName: "last2"}
"key3": {FirstName: "first3", LastName: "last3"}
}
初始化数组的示例函数:
function initArray(){
for(var i=1; i< count+1; i++) {
var newElement = {}
newElement.FirstName = "first" + i;
newElement.LastName = "last" + i;
var keyName = "key" + i
var obj = {};
myArray[keyName] = newElement
}
}
现在&#34; myArray [&#34; key2&#34;]可以访问。
答案 2 :(得分:0)
你不能在javascript中做你想做的事情! (因为javascript不能做关联数组)
我会选择一个具有内部数组的对象来存储其他东西
var container = {};
container.things = [];
container.things.push({FirstName: 'First1', LastName: 'Last1'});
现在你可以做..
for(var i in container.things) {
alert(container.things[i].FirstName);
}
答案 3 :(得分:0)
你的myarray变量构造是对象的对象的表示法。
var myArray = {'key1':
{
'FirstName' : "First1",
'LastName' : "Last1"
}};
为了访问这些值,应该像对象数组一样。
var myArray = [
{
'FirstName' : "First1",
'LastName' : "Last1"
},
];
或符号可以如下所示:
var data = {
code: 42,
items: [{
id: 1,
name: 'foo'
}, {
id: 2,
name: 'bar'
}]
};