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 );
}