Javascript 使用下划线根据名称将对象属性分组为单独的较小对象
目前,我有一个对象,它有多个键,前缀是“_id(实际上是一个数字)”,比如so:Javascript 使用下划线根据名称将对象属性分组为单独的较小对象,javascript,underscore.js,Javascript,Underscore.js,目前,我有一个对象,它有多个键,前缀是“_id(实际上是一个数字)”,比如so: var obj = { outFieldType_25669: "Select a type" outFieldType_97327: "Select a type" outfieldWallType_25669: "Select a type" outfieldWallType_97327: "Select a type" scoreboardDetailsShown_25669: "e.g. play
var obj = {
outFieldType_25669: "Select a type"
outFieldType_97327: "Select a type"
outfieldWallType_25669: "Select a type"
outfieldWallType_97327: "Select a type"
scoreboardDetailsShown_25669: "e.g. players name, photo, stats, etc..."
scoreboardDetailsShown_97327: "e.g. players name, photo, stats, etc..."
scoreboardOperatedBy_25669: "Select a type"
scoreboardOperatedBy_97327: "Select a type"
warningTrackType_25669: "Select a type"
warningTrackType_97327: "Select a type"
};
我想做的是将该对象拆分为更小的对象,这些对象按结束前缀分组,这是预期结果的一个示例:
objA = {
outFieldType_97327: "Select a type",
outfieldWallType_97327: "Select a type",
scoreboardDetailsShown_97327: "e.g. players name, photo, stats, etc..."
scoreboardOperatedBy_97327: "Select a type",
warningTrackType_97327: "Select a type"
};
objB = {
outFieldType_25669: "Select a type",
outfieldWallType_25669: "Select a type",
scoreboardDetailsShown_25669: "e.g. players name, photo, stats, etc...",
scoreboardOperatedBy_25669: "Select a type",
warningTrackType_25669: "Select a type"
};
使用
\每个
迭代对象,从键中分割id并将其存储在单独的对象中,例如
var sorted = {};
var obj = {
outFieldType_25669: "Select a type",
outFieldType_97327: "Select a type",
outfieldWallType_25669: "Select a type",
outfieldWallType_97327: "Select a type",
scoreboardDetailsShown_25669: "e.g. players name, photo, stats, etc...",
scoreboardDetailsShown_97327: "e.g. players name, photo, stats, etc...",
scoreboardOperatedBy_25669: "Select a type",
scoreboardOperatedBy_97327: "Select a type",
warningTrackType_25669: "Select a type",
warningTrackType_97327: "Select a type"
};
_.each(obj, function (value, key) {
var id = key.split("_")[1];
if (sorted[id] === undefined) {
sorted[id] = {}
};
sorted[id][key] = value;
});
console.log(sorted);
看看这个。我认为下划线在这里没有帮助。不过,手动操作并不复杂。哦,你为他扼杀了乐趣:)。