你想要的是连接向量囚犯?
尝试:
function toObject(arr) {
var rv = {}, k;
for (var i = 0; i < arr.length; ++i) {
for(k in arr[i]){
rv[k] = arr[i][k];
}
}
return rv;
}
如果这不是您正在寻找的内容,请尝试以下操作:
[已修复(在用户@ user1689607的帮助下)]
[编辑]:
Object.keys
在较旧的浏览器中不起作用。[固定的]
function toObject(arr,_sort) {
//param1 = Object, param2 = (true:sort, false:default)
var rv = {}, k, firstV = null, keys, obj, tmp, j,
ObjK = Object.keys ? function(ke){
return Object.keys(ke);
} : function(ke){
var r = [];
for(var o in ke){
r[r.length] = o;
}
return r;
};
for (var i = 0; i < arr.length; ++i) {
obj = arr[i];
tmp = [];
keys = _sort===true ? ObjK(obj).sort() : ObjK(obj);
tmp = [obj[keys[0]]];
for (j = 0; j < keys.length; ++j) {
tmp[tmp.length] = obj[keys[j]];
}
rv[obj[keys[0]]] = tmp;
firstV = null;
}
return rv;
}
//sort
console.log(
toObject([{"a":"value1", "b":"value2", "c":"value3"}, {"d":"value4","e":"value5","f":"value6"}]),
true);
//default
console.log(
toObject([{"a":"value1", "b":"value2", "c":"value3"}, {"d":"value4","e":"value5","f":"value6"}])
);