[英]adding new key value in javascript array not affecting
我有这样的array
,
var serialize={};
现在,我有了表格,并且我要对该表格进行serialize
化,并添加它以便像这样在数组中进行serialize
,
var c=12;
ser[c]=$(elem).find('input[name!=material_id],select').serializeArray();
这样会生成数组,
ser[127][0][name] quantity_1_127
ser[127][0][value] 100
ser[127][1][name] single_1_127
ser[127][1][value] 11
ser[127][2][name] double_1_127
ser[127][2][value] 17.5
现在我只想插入新的键和值,我正在这样做
ser[c]['test']='test';
但这并不影响。 这是什么原因呢? 我在这里做错什么了吗? 还有其他解决方案吗?
这是因为ser[c]
是一个数组,并且您试图将其用作对象。
通过以下方式添加该测试/测试内容:
ser[c].push({'test': 'test'});
或者,随着对象中其他值的设置:
ser[c].push({ 'name': 'test', 'value': 'test'});
这不是PHP,其中关联数组中的索引可以是字符串或整数。 这是javascript,如果对象中的索引为整数,则该对象为数组;如果索引为字符串,则对象为...对象。
因此,如果您想使用诸如ser[c]['mykey'] = value
类的东西,则必须执行以下操作:
ser[c] = { 'mykey': 'value'};
但这意味着ser[127][0]
类型的元素将消失。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.