You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从两个数组生成每个关键字对应所有语言的对象数组?

解法:生成数组笛卡尔积对象列表

要实现每个关键字对应所有语言的对象数组,你可以用 flatMap 结合 map 来完成——普通 map 之所以不行,是因为它只能返回和原数组长度一致的结果,无法展开多语言对应的多个对象。

代码实现

原数组定义:

const keywordList = ['test','123'];
const langList = ['en','fr'];

生成目标数组:

const keywords = keywordList.flatMap(keyword => {
  return langList.map(lang => ({ keyword, lang }));
});

执行后得到的结果就是你需要的结构:

[
  { keyword: "test", lang: "en" },
  { keyword: "test", lang: "fr" },
  { keyword: "123", lang: "en" },
  { keyword: "123", lang: "fr" }
]

原理说明

flatMap 会先对每个关键字执行 map 操作,生成该关键字对应所有语言的对象数组,随后自动将这些子数组展开合并成一个一维数组,正好满足「每个关键字对应所有语言」的需求。

你也可以用 reduce 来实现相同效果:

const keywords = keywordList.reduce((result, keyword) => {
  langList.forEach(lang => {
    result.push({ keyword, lang });
  });
  return result;
}, []);

内容的提问来源于stack exchange,提问作者user11302458

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 19:48:26