如何比较对象数组和字符串数组?

ffc*_*bar 2 javascript arrays ecmascript-6

如何比较这些数组?我想比较并得到如下所示的结果。

\n

字符串数组

\n
\xc2\xa0["Typo", "Buttons"]\n
Run Code Online (Sandbox Code Playgroud)\n

对象数组

\n
[\n  {icon: "General", categoryName: "Buttons"}\n  {icon: "DataDisplay", categoryName: "Typo"}\n  {icon: "Other", categoryName: "Sliders"}\n]\n
Run Code Online (Sandbox Code Playgroud)\n

正如您所看到的,字符串数组中没有滑块categoryName。我预计结果应该是另一个对象数组。如下

\n
[\n  {icon: "General", categoryName: "Buttons"}\n  {icon: "DataDisplay", categoryName: "Typo"}\n]\n
Run Code Online (Sandbox Code Playgroud)\n

谢谢!

\n

Maj*_*awi 5

您可以.filter按如下方式使用:

const categories = ["Typo", "Buttons"]
const items = [
  {icon: "General", categoryName: "Buttons"},
  {icon: "DataDisplay", categoryName: "Typo"},
  {icon: "Other", categoryName: "Sliders"}
]

const res = items.filter(item => categories.includes(item.categoryName));

console.log(res);
Run Code Online (Sandbox Code Playgroud)