根据循环中的计数器创建具有唯一名称的 JavaScript 对象
creating javascript objects with unique names depending on counter in loop
我对Javascript很陌生,我有一个关于制定变量名称的小查询:
function createObjects(int length) {
var count;
for(count=0; count<length; count++;) {
var personObj + "" + count;
}
}
在这里我想为 for 循环的每次迭代制定一个不同的 personObj,这是正确的过程吗? 这会给我:var personObj1var personObj2等
谢谢!马 特
如果你想拥有相同底层数据结构/逻辑的多个实例,你可以使用这样的方法:
创建一个构造函数,该函数使用所需的属性(也是方法)生成Object
。例如:
function PersonObj(name, age) {
this.name = name;
this.age = age;
}
这使您能够使用 PersonObj
创建新的实例 var n = new PersonObj('Fred',32);
。现在,您可以使用数组来存储这些对象的多个实例:
var persons = []; // creates a new Array
for (var i = 1; i < 13; i++){
persons.push(new PersonObj('Alfred', i));
}
persons
现在将包含十二只 1 至 12 岁的阿尔弗雷德。
如果你想改变阿尔弗雷德3号的年龄,你可以这样做:
persons[2].age = 99;
观看现场演示
不要。动态生成变量从来都不是一个好主意。请改用对象或数组。它们旨在构建相关数据组。
function createObjects(length) {
var count, people = [];
for(count=0; count<length; count++;) {
people.push('something');
}
return people;
}
为什么不为此使用数组呢?
如果需要,你可以将命名属性添加到窗口对象:
function createObjects(int length) {
var count;
for(count=0; count<length; count++;) {
window[personObj + "" + count] = new SomeObject();
}
}
创建对象,向对象添加属性并将对象存储在数组中。
var al = new Array();
function createObjects(int length) {
var o = new Object();
for(var count=0; count<length; count++;) {
o.count = 'some value';
}
al.push(o);
}
相关文章:
- 如何从数组中查找唯一对象
- 基于单个属性从数组中获取唯一对象
- 将唯一对象推送到JavaScript数组
- j根据特定对象属性查询唯一对象
- 按属性创建唯一对象的数组
- 使用带有对象的for循环打印出每个唯一对象的属性
- Three.js r73-将多个对象作为唯一对象来回旋转
- 通过比较和推送唯一对象来创建新的对象数组
- 仅向数组中添加唯一对象
- 如何通过使用Javascript比较两组数组来获得唯一对象
- 在JavaScript中只向数组添加唯一对象
- 使用对象作为键(不是字符串而是唯一对象)的关联映射的javascript方法是什么?
- Firebase push -删除唯一对象并插入新对象(基本上覆盖内容)
- 获取用户输入以创建唯一对象
- 是否有可能在不使用唯一对象属性的情况下区分两个对象?
- Javascript从object中创建唯一对象数组
- 唯一对象字面值键- javascript
- js获取一个唯一对象的数组
- 在javascript数组中查找唯一对象的最快速方法
- 将两个唯一对象推到一个空数组中会产生一个包含两个等效对象的数组