Javascript 循环中带数字的递增JS键

Javascript 循环中带数字的递增JS键,javascript,arrays,Javascript,Arrays,我已经为循环嵌套了第二个,并尝试为一年中的所有52周创建一个数组键wk1,wk2等。然后将其添加到item对象 预期结果: item.wk1 = phpjs.amazon_ratings[i].wk1; item.wk2 = phpjs.amazon_ratings[i].wk2; etc... vari; var j; 对于(i=0;i

我已经为循环嵌套了第二个
,并尝试为一年中的所有52周创建一个数组键
wk1
wk2
等。然后将其添加到item对象

预期结果:

item.wk1 = phpjs.amazon_ratings[i].wk1;
item.wk2 = phpjs.amazon_ratings[i].wk2;
etc...
vari;
var j;
对于(i=0;i

但是它失败了:
uncaughttypeerror:无法设置未定义的属性“1”

它应该是项['wk'+j]


记住,一年没有52周。你必须每年检查一次。

你忘了初始化
项。wk
到一个新的空数组(或对象或任何你期望的对象)。还要确保你正确地声明
i
j
。按你说的添加属性是可能的,但这是一种奇怪的做法。拥有一个实际阵列要容易得多,也更灵活得多。
var i;
var j;
for (i = 0; i < phpjs.amazon_ratings.length; i++) {

  // Create the item object
  var item = {};

  // Add default array keys `sku`, and their values from the `amazon_ratings` array as we loop through each item.
  item.sku = phpjs.amazon_ratings[i].sku;
  item.asin = phpjs.amazon_ratings[i].asin;
  item.current_week_rating = phpjs.amazon_ratings[i].rating;
  item.total_ratings = phpjs.amazon_ratings[i].ratings_total;
  item.category = phpjs.amazon_ratings[i].category;

  // Loop 52 times and create array keys such as: WK1, WK2, WK3
  for (j = 1; j < 53; j++) {
    item.wk[j] = phpjs.amazon_ratings[i].wk[j];
  }

  // Add it to the array
  tabledata.push( item );
}