将dynamic键值对添加到JavaScript数组或哈希表

我试图添加一个键值对现有的JavaScript关联数组。 关键需要是一个variables。 这是用于JSON编码。 我意识到有很多插件和框架,但我想要一个简单的答案。

ary.push({name: val}); 

其中ary是一个新数组, name是一个包含该键的variables, val是该条目的值。

我正在做一个jQuery循环遍历表单域。

在ES6中…

在ES6中,您可以使用解构赋值 ;

 ary.push({[name]: val}); 

但是,鉴于这是ES6语法,通常的注意事项适用; 这在某些浏览器 (IE和Edge 13)中不起作用…虽然Babel会为您parsing这个。


没有ES6(传统的浏览器支持)…

您需要定义一个对象并使用方括号表示来设置属性;

 var obj = {}; obj[name] = val; ary.push(obj); 

如果你有更多的阅读需求的冲动,请参阅这篇文章中方括号和点符号之间的区别。

 var ary = []; function pushToAry(name, val) { var obj = {}; obj[name] = val; ary.push(obj); } pushToAry("myName", "myVal"); 

刚刚完全阅读你的问题,你需要的是以下内容

 $(your collection of form els).serializeArray(); 

很好的老jQuery

“关联数组”实际上只是一个对象。 您不使用push,只需将属性分配给对象:

 ary[name] = val;