繁体   English   中英

jQuery-将元素列表更改为关联数组

[英]jQuery - change a list of elements to an associative array

给定一个关联数组(由jQuery.serializeArray()返回的排序),如下所示:

[
{ 'name': 'abc', 'value': 'aaa', '__proto__': [Object] },
{ 'name': 'def', 'value': 'bbb', '__proto__': [Object] },
{ 'name': 'abc', 'value': 'ccc', '__proto__': [Object] }
]

如何使用jQuery或仅使用javascript将其转换为name: [values]的关联数组name: [values]像这样:

{
   'abc': ['aaa', 'ccc'],
   'def': ['bbb']
}

这似乎基本上是这个问题的反面: 基于另一个关联数组的值构建关联数组 ...但是使用Javascript(不是PHP)。 我无法在Stackoverflow上找到此问题,尽管我认为会被问到。

感谢您的阅读。

布赖恩

您只需要遍历对象,检查结果中是否存在name ,然后存储或推送值,例如:

var result = {};
$.each(arr, function (index, el) {
  if (!result[el.name]) {
    result[el.name] = [el.value];
  } else {
    result[el.name].push(el.value);
  }
});
//{"abc":["aaa","ccc"], "def":["bbb"]}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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