将多维数组转换为一维关联jquery数组
如何在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
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很快就会修复它)
{'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);