每次循环迭代强制转换为不同的类型
Casting to a different type each loop iteration
我正在寻找一种在每次迭代时将循环中的项目转换为不同类型的方法。像这样:
for (var i = 0; i < 100; i++)
for (var j = 0; j < 100; j++)
newArr.push({
date:arrA[i].subArr[j].myDate,
points+i:arrA[i].subArr[j].myPoints,
league+i:arrA[i].subArr[j].myLeague
});
这样的事情可能吗?
您是否尝试过创建一个对象并在之后更改属性,然后再将其添加到数组中?
for (var i = 0; i < 100; i++){
for (var j = 0; j < 100; j++){
var tmp = {};
tmp['date'] = arrA[i].subArr[j].myDate;
tmp['points'+i] = arrA[i].subArr[j].myPoints;
tmp['league'+i] = arrA[i].subArr[j].myLeague;
newArr.push(tmp);
}
}
我认为
这种方法没有多大意义。您最好为正在创建的每个对象提供一个完全独立的"索引"属性。
for (var i = 0; i < 100; i++)
for (var j = 0; j < 100; j++)
newArr.push({
index: i,
date: arrA[i].subArr[j].myDate,
points: arrA[i].subArr[j].myPoints,
league: arrA[i].subArr[j].myLeague
});
这样,所有对象看起来都一样,每个对象的"index"属性在 0 到 99 的范围内。
对象初始值设定项中的属性名称不能是任意表达式,因此这是无效语法:
newArr.push({
"points" + i: arrA[i].subArr[j].myPoints
});
但是,您可以在下标中使用任意表达式:
var tmp = {};
tmp["points" + i] = arrA[i].subArr[j].myPoints;
...
newArr.push(tmp);
相关文章:
- 布尔类型转换系统(Java)
- 为什么从字符串到整数的类型转换总是返回“”;0〃;
- 弱类型语言类型转换的意思在哪里,为什么使用.例如JavaScript
- jQuery data() 类型转换问题
- JavaScript 中的显式类型转换和类型
- Javascript类型转换悖论
- 将嵌套的 c# 类型转换为 json,并在 javascript 中使用它
- JSDoc 类型转换为“窗口”
- Dojo Dnd 问题:使用 JavaScript 通过 Dnd 项类型转换为 JSON
- jQuery:在 $.each 中从字符串类型转换为字符串对象
- 奇怪的JavaScript类型转换
- JavaScript 的 (0 == “”) === true 如何与 ECMA-262 类型转换规则一致
- JavaScript 括号将基元类型转换为对象
- JavaScipt的数据类型转换对于“==”运算符究竟是如何工作的
- 在数组中添加和减去数字索引值的类型转换
- Javascript/google闭包库中的类型转换
- 类型转换问题,如何使用好的旧===而不是===
- 是否可以像在Javascript对象中那样将整数值存储在localStorage中,并在不进行类型转换的情况下提取它
- javascript中带有无符号32位整数的位移位/类型转换
- Javascript中的类型转换