我无法将数据插入数组.我希望它作为一个数组.我想在每一行中添加12个月.以下是我的代码:
var data = {};
for (var i = 0; i < 5; i++) {
data[i] = {
Name: "Sample",
Group: "Sample",
Offering: "India",
Type: "Employee",
subject: "Sample",
sponser: true
};
for (j = 1; j <= 12; j++) {
var val = "m" + j;
data.val = j + 1;
}
}
最佳答案 >你的阵列是一个对象!如果您希望它是一个数组,则需要更改var data = {}; to var data = [];.但它会以同样的方式工作,所以这里没有任何区别.
>您没有在第二个for循环中声明变量j.您需要在它前面添加var,就像在第一个循环中一样.
>您需要指定要设置月份的对象/数组的当前索引.因此,在第二个for循环中写入数据[i]而不是数据.
>由于你想在你的对象/数组中使用val的值作为键,你需要在它周围放置bracers [].否则,您将只设置对象的属性val.
>您的月份从1到12.您只需要设置j而不是j 1,因为否则会将月份写入2到13.
var data = {}; // this is an object
// if it should be an array write 'var data = [];'
for( var i = 0; i < 5; i++ ) {
data[i] = {
Name : "Sample",
Group : "Sample",
Offering : "India",
Type : "Employee",
subject : "Sample",
sponser : true
};
for( var j = 1; j <= 12; j++ ) { // added 'var' before 'j'
var val = "m" + j;
data[i][val] = j; // added '[i]' after 'data'
// changed '.val' to '[val]'
// removed '+ 1' after 'j'
}
}
console.log(data);