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