我不只是在寻找原生javascript。我对jQuery和undercore.js也持开放态度。我在谷歌上搜索了一下,发现的问题/答案只解释了如何组合两个对象,而不是更多。
有来自jquery的.extend可以做到这一点。我正在寻找将n个具有不同属性的对象组合为一个对象的东西。
我实际上是在做一个$('form').serializeArray()
,然后从表单中获取对象数组。有没有办法从表单中获得单个对象?或者如何将更多具有不同属性的对象组合成一个对象?
要将表单转换为json对象,请使用此方法。引用上面的答案:
serializeArray
已经做到了,你只需要按摩数据转换为您所需的格式:$.fn.serializeObject = function() { var o = {}; var a = this.serializeArray(); $.each(a, function() { if (o[this.name] !== undefined) { if (!o[this.name].push) { o[this.name] = [o[this.name]]; } o[this.name].push(this.value || ''); } else { o[this.name] = this.value || ''; } }); return o; };
要组合多个对象,请使用下划线扩展:
_.extend({name: 'moe'}, {age: 50}, {test: "test"});
或jQuery扩展:
$.extend({name: 'moe'}, {age: 50}, {test: "test"})