Javascript 设置jquery多维数组
我得到属性值。我需要设置为多维数组,但它显示错误。我哪里出错了Javascript 设置jquery多维数组,javascript,jquery,multidimensional-array,Javascript,Jquery,Multidimensional Array,我得到属性值。我需要设置为多维数组,但它显示错误。我哪里出错了 var myArray = []; amount=10; x=1 $(id).closest('td').nextAll().find('input').each(function (n) { myArray[x]['id'] = $(this).attr('data-id'); myArray[x]['year'] = $(this).attr('data-year'); myAr
var myArray = [];
amount=10;
x=1
$(id).closest('td').nextAll().find('input').each(function (n) {
myArray[x]['id'] = $(this).attr('data-id');
myArray[x]['year'] = $(this).attr('data-year');
myArray[x]['month'] = $(this).attr('data-month');
myArray[x]['amount'] = amount;
x++;
});
console.log(myArray);
你漏了这一行
myArray[x] = {};
myArray[x]['id'] = $(this).attr('data-id');
在这条线之前
myArray[x] = {};
myArray[x]['id'] = $(this).attr('data-id');
因为在设置属性之前需要先初始化该对象。需要先声明数组才能添加项。比如说
var d = [];
var value = 2;
d[0]["key"] = value;
无法工作,因为d[0]
还不是数组。但是:
var d = [];
var value = 2;
d[0]= [];
d[0]["key"] = value;
将工作,因为d[0]
已准备好接受密钥
就你而言
>>> myArray[x] = [];
myArray[x]['id'] = $(this).attr('data-id');
myArray[x]['year'] = $(this).attr('data-year');
myArray[x]['month'] = $(this).attr('data-month');
myArray[x]['amount'] = amount;
将起作用。即使已将数组初始化为空数组,也应在paritcular位置初始化值。如果不指定,则myArray[x]未定义。因此,您需要显式分配一个空对象,以便使用myArray[x][“key”]更新键
var myArray=[];
金额=10;
x=1
$(id).最近('td').nextAll().find('input').each(函数(n){
//需要使用对象a位置x初始化;
myArray[x]={};
myArray[x]['id']=$(this.attr('data-id');
myArray[x]['year']=$(this.attr('data-year');
myArray[x]['month']=$(this.attr('data-month');
myArray[x]['amount']=金额;
x++;
});
log(myArray)代码>
的可能重复项