我正在尝试使用key:[value array]动态构建对象,但是使用不同的方法,我总是以value数组中的单个项目(在响应中有多个值)结束。
伪代码:
var myFunction = function () {
var myObject = {};
$.ajax('http://the.url.com', {
type: "GET",
success: function (res) {
$(res).each(function (i, v) {
var name = v.name;
var id = v.id;
// create object with building block and tech id to associate techs to BBs
myObject[name] = new Array();
myObject[name].push(id);
});
},
error: function (xhr) {}
}
}
电流输出:
{
key1: ["value1c"]
key2: ["value2a"]
key3: ["value3b"]
}
所需的输出:
{
key1: ["value1a", "value1b","value1c"]
key2: ["value2a"]
key3: ["value3a", "value3b"]
}
您正在用每个键的新数组覆盖现有数组,然后使用以下行将最新的数组推入:
myObject[name] = new Array();
尝试添加支票以避免覆盖:
myObject[name] = myObject[name] || new Array();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句