将多维数组转换为一维关联jquery数组

将多维数组转换为一维关联jquery数组,jquery,arrays,associative-array,Jquery,Arrays,Associative Array,如何在jQuery中将以下多维数组转换为具有最小循环的一维关联数组 array(array('a'=>3),array('b'=>2),array('c'=>4),array('d'=>3)) 预期结果: array('a'=>3,'b'=>2,'c'=>4,'d'=>3); …是您在结果中查找的JS语法。JS没有像PHP那样的关联数组:它有对象,这些对象(大致)做相同的工作 如果您显示的代码在其他语言(PHP?)中有效,则可以将其转换为JSO

如何在jQuery中将以下多维数组转换为具有最小循环的一维关联数组

array(array('a'=>3),array('b'=>2),array('c'=>4),array('d'=>3))
预期结果:

array('a'=>3,'b'=>2,'c'=>4,'d'=>3);
…是您在结果中查找的JS语法。JS没有像PHP那样的关联数组:它有对象,这些对象(大致)做相同的工作

如果您显示的代码在其他语言(PHP?)中有效,则可以将其转换为JSON字符串,当JSON被JS解析时,您将得到一个JS对象数组,如下所示:

[ {'a':3}, {'b':2}, {'c':4}, {'d':3} ]
要将其转换为JS对象而不是对象数组,最简单的方法可能是使用
jQuery.extend()

演示:

请注意,如果原始数组中的多个元素具有相同的属性名称,则最终对象中的一个元素将与另一个元素发生碰撞

进一步阅读:

  • (页面目前有一些加载错误,但通常这是一个很好的参考,我相信MDN很快就会修复它)

这是无效的JavaScript。JS没有关联数组;它具有执行大致相同角色的对象,但它们不是数组。您将遇到错误。
{'a':3,'b':2,'c':4,'d':3}
是您正在寻找的JS语法。
[ {'a':3}, {'b':2}, {'c':4}, {'d':3} ]
// assume some JSON.parse() or other process has created
myArr = [ {'a':3}, {'b':2}, {'c':4}, {'d':3} ]
// then

var tmpArr = myArr.slice(0);   // make shallow copy of myArr
tmpArr.unshift({});            // insert an empty object

var newObj = jQuery.extend.apply(this, tmpArr);