Javascript 每次循环迭代都将强制转换为不同的类型

Javascript 每次循环迭代都将强制转换为不同的类型,javascript,Javascript,我正在寻找一种在每次迭代中将循环中的项转换为不同类型的方法。大概是这样的: 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(变量

我正在寻找一种在每次迭代中将循环中的项转换为不同类型的方法。大概是这样的:

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(变量i=0;i<100;i++)
对于(var j=0;j<100;j++)
纽瓦尔推({
日期:arrA[i].Subar[j].myDate,
points+i:arrA[i].Subar[j].myPoints,
league+i:arrA[i].斯巴拉[j].我的联赛
});

这样做可能吗?

在将对象添加到数组之前,您是否尝试创建一个对象并在之后更改其属性

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(变量i=0;i<100;i++){
对于(var j=0;j<100;j++){
var tmp={};
tmp['date']=arrA[i].斯巴拉[j].我的日期;
tmp['points'+i]=arrA[i].斯巴拉[j].我的点;
tmp['league'+i]=arrA[i].斯巴拉[j].我的家乡;
新到达推力(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
    });
for(变量i=0;i<100;i++)
对于(var j=0;j<100;j++)
纽瓦尔推({
索引:i,,
日期:arrA[i].Subar[j].myDate,
points:arrA[i].Subar[j].myPoints,
联盟:阿拉[i].斯巴拉[j].我的家乡
});
这样,所有对象看起来都很相似,每个对象的“索引”属性都在0到99之间。

中的属性名称可能不是任意表达式,因此这是无效语法:

newArr.push({
    "points" + i: arrA[i].subArr[j].myPoints
});
但是,可以在下标中使用任意表达式:

var tmp = {};
tmp["points" + i] = arrA[i].subArr[j].myPoints;
...
newArr.push(tmp);

哈,你在那个例子里投的是什么?什么不适用于该代码?什么是
arrA
?什么是子雷达?什么是
myPoints
?什么是myLeague?你不能指望我们提供如此少量的信息作为指导。在你在评论中澄清之后,你可能想使用帖子下面的编辑功能来修改问题。我需要将所有数据放入一个数组中,以显示在图表中,图表上的每一行都需要一个唯一的“值”标识符。可悲的是,我想不出一种使用索引的方法来做到这一点;我们在这里谈论的是什么制图软件包?amcharts。据我所知,显示多行的唯一方法是使用以下格式的数组:chartData.push({date:newDate,visions:visions,hits:hits,views:views});(摘自他们的例子,并在阅读了他们的论坛之后)。然后每行需要一行,如下所示:graph1.valueField=“visions”;graph2.valueField=“hits”;好吧,阅读他们的文档,我觉得肯定不是这样的,但如果你能让它工作起来,那就太好了,我想:-)所谓的“你觉得不是那样的”,你的意思是有更好的方法吗?