我正在尝试通过循环为数组中的每个项创建一个新对象.对象的名称应该基于数组的键.
所以对于这个数组:
var arr = new Array(
"some value",
"some other value",
"a third value"
);
Run Code Online (Sandbox Code Playgroud)
会导致三个对象:
alert(object1.value);
alert(object2.value);
alert(object3.value);
Run Code Online (Sandbox Code Playgroud)
我到目前为止的代码(但不起作用)是:
// Object
function fooBar(value) {
this.value = value;
...
}
// Loop
var len = arr.length;
for (var i = 0; i < len; i++) {
var objectName = object + i;
var objectName = new fooBar(arr[i]);
}
Run Code Online (Sandbox Code Playgroud)
我要求的甚至是否有意义?
u8s*_*and 10
您还必须创建一个对象数组
var objs = new Array();
for(var i = 0; i < len; i++) {
objs[i] = new fooBar(arr[i]);
}
alert(objs[0].value);
Run Code Online (Sandbox Code Playgroud)
您可以映射数组:
var arr = new Array(
"some value",
"some other value",
"a third value"
);
var fooBars = arr.map(function(x) { return new fooBar(x); });
Run Code Online (Sandbox Code Playgroud)
然后,您可以访问每个值:
alert(fooBars[0].value);
// etc.
Run Code Online (Sandbox Code Playgroud)
或一次全部处理:
fooBars.forEach(function (foo) { alert(foo.value); });
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11206 次 |
| 最近记录: |