我将数据存储在一个对象中(因为我想稍后将其转换为 json)。
var myObject = new Object();
myObject.name = "John";
myObject.name = "James";
我不太确定这是如何工作的,因为我想将它视为一个数组,能够循环并输出每个名称
myObject[i]['name'];
我哪里错了?
我将数据存储在一个对象中(因为我想稍后将其转换为 json)。
var myObject = new Object();
myObject.name = "John";
myObject.name = "James";
我不太确定这是如何工作的,因为我想将它视为一个数组,能够循环并输出每个名称
myObject[i]['name'];
我哪里错了?
你不能像你那样做。试试这样:
var myObjectNames = []; // means a new Array, or you can use: new Array() instead;
您可以像这样添加新名称:
myObjectNames.push("John");
myObjectNames.push("James");
然后将它们全部输出:
for(var x in myObjectNames) {
console.log(myObjectNames[x]); // will output your names in the console
}
或使用连接功能:
console.log(myObjectNames.join(";")); // will output: "John;James" in the console
扩展答案
您可以拥有以下对象:
var myObject = [];
然后只需将名称成对推送到该数组中key->value
:
var myNames = ['John', 'James', 'Zlatan'];
for(var x in myNames) {
myObject.push({name: myNames[x]});
}
console.log(myObject);
在那里,您将在控制台输出中具有以下结构:
[Object { name=
"John"
}, Object { name=
"James"
}, Object { name=
"Zlatan"
}]
如果您只想要一个名称数组,您可以将 myObject 初始化为一个数组并将名称添加到其中,然后通过指定索引或使用“推”来添加。
nameArray = []; //or new Array();
nameArray[0] = 'John';
nameArray.push('James');
上面唯一的一点是你只能存储一条信息(即你可以存储姓名,但不能存储姓名和年龄)如果你想存储多个,你可以先用你想要的属性创建对象,然后然后将它们存储到一个数组中:
personArray = [];
person1= new Object();
person1.name = 'John';
person1.age = 18;
personArray.push(object1);
person2 = {}; //Shorter version of new Object()
person2.name = 'James';
person2.age = 31;
personArray.push(person2);
然后可以根据需要访问它:
personArray[1]['name']; //James
personArray[0].age; //18