Javascript Lodash查找并保留数组中项目的索引

Javascript Lodash查找并保留数组中项目的索引,javascript,grouping,lodash,Javascript,Grouping,Lodash,我试图在数组中查找、分组和保留关键字索引,并将其存储为对象 假设我有一个这样的物体: { "foo": ["bar", "bazz"], "boo": ["far", "fuzz"] } { "foo": [ {"bar": [22]}, {"bazz": [50, 77]} ], "boo": [ {"far": [102, 118]}, {"fuzz": [146, 151]} ] } 我有这样一句话: Lorem ipsum do

我试图在数组中查找、分组和保留关键字索引,并将其存储为对象

假设我有一个这样的物体:

{
  "foo": ["bar", "bazz"],
  "boo": ["far", "fuzz"]
}
{
  "foo": [
    {"bar": [22]},
    {"bazz": [50, 77]}
  ],
  "boo": [
    {"far": [102, 118]},
    {"fuzz": [146, 151]}
  ]
}
我有这样一句话:

Lorem ipsum dolor sit bar,Concertetur Adipising bazz。Nam luctus fringilla bazz。Suspendisse mauris far,nec far的aliquam,Placelat quis leo。fuzz fuzz

我想要这样的输出:

{
  "foo": ["bar", "bazz"],
  "boo": ["far", "fuzz"]
}
{
  "foo": [
    {"bar": [22]},
    {"bazz": [50, 77]}
  ],
  "boo": [
    {"far": [102, 118]},
    {"fuzz": [146, 151]}
  ]
}

我试图突出显示文本并对其进行分类。

如果要查找索引,可以使用以下代码

const a =
  "Lorem ipsum dolor sit bar, consectetur adipiscing bazz. Nam luctus fringilla bazz. Suspendisse mauris far, aliquam in far nec, placerat quis leo. fuzz fuzz,";

const b = {
  foo: ["bar", "bazz"],
  boo: ["far", "fuzz"]
};

function groupAndFindIndexes(text, groups) {
  return Object.keys(b).reduce((store, id) => {
    store[id] = b[id].map(word => {
      const reg = new RegExp(word, "g");
      const items = [];
      let find = reg.exec(a);
      while (find) {
        items.push(find.index);
        find = reg.exec(a);
      }
      return { [word]: items };
    });
    return store;
  }, {});
}

const result = groupAndFindIndexes(a, b);
结果是:
{
“foo”:[
{
“酒吧”:[22]
},
{
“bazz”:[50,77]
}
],
“嘘”:[
{
“far”:[102118]
},
{
“fuzz”:[146151]
}
]

}
那么,在得到-1之前,您是否尝试过在第二个参数中使用
String.indexOf
?您需要提供更多信息。您想要的输出中的数字是多少?“foo”和“boo”的含义是什么?你的密码在哪里?突出显示是什么意思?你说的是HTML、CSS吗?你知道在HTML文本突出显示方面已经有很多问题了吗?