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

如何使用underscorejs将两个数组合并为笛卡尔积二维数组

Underscore.js实现两个数组笛卡尔积解法

你需要实现的是两个数组的笛卡尔积,用Underscore.js可以通过嵌套遍历加展平的方式快速实现,代码如下:

var array1 = [1,2];
var array2 = [1,2];

// 兼容ES5的写法
var result = _.flatten(_.map(array1, function(item1) {
  return _.map(array2, function(item2) {
    return [item1, item2];
  });
}), false);

console.log(result); // 输出 [[1,1],[1,2],[2,1],[2,2]]

如果是支持ES6箭头函数的环境,可以简化为:

const result = _.flatten(_.map(array1, item1 => _.map(array2, item2 => [item1, item2])), false);

逻辑说明

  • 第一层_.map遍历第一个数组的所有元素
  • 第二层_.map遍历第二个数组的所有元素,将两个元素配对为一个小数组返回,此时得到的初始结构为[[[1,1],[1,2]],[[2,1],[2,2]]]
  • 调用_.flatten并传入第二个参数false,表示仅展平一层嵌套,就能得到你需要的目标结构

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 19:45:04