繁体   English   中英

在javascript数组中添加新键值不影响

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM