Javascript 使用下划线根据名称将对象属性分组为单独的较小对象

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

目前,我有一个对象,它有多个键,前缀是“_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. 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);

看看这个。

我认为下划线在这里没有帮助。不过,手动操作并不复杂。哦,你为他扼杀了乐趣:)。