我有像
这样的对象obj = {
a0: 1,
b0: 2,
b1: 3,
a1: 4
}
我希望将此对象设为数组,如图所示
obj1 = [
{a0: 1, b0: 2},
{a1: 4, b1: 3}
]
以相同编号结尾的组属性。请帮帮我
答案 0 :(得分:3)
您可以使用键的编号作为索引并构建新对象(如果不存在)。然后将值应用于属性。
var object = { a0: 1, b1: 3, a1: 4, c2: 5 },
grouped = Object.keys(object).reduce(function (result, key) {
var index = key.match(/\d+$/);
result[index] = result[index] || {};
result[index][key] = object[key];
return result;
}, []);
console.log(grouped);