【发布时间】:2016-03-02 10:34:20
【问题描述】:
我想计算数组单个元素内的笛卡尔积。一次只能有 2 个值。
所以如果这是我的数组:
[["cat dog mouse"], ["blue red green"]]
期望值为:
- 猫,狗
- 猫、老鼠
- 狗,老鼠
- 蓝色,红色
- 蓝色,绿色
- 红、绿
这是我的错误方法:
var arr = [["cat dog mouse"], ["blue red green"], ["apple orange banana"]];
for (i = 0; i < arr.length; i++) {
for(j = 0; j < arr[i].length; j++){
if(j >= arr[i].length){
console.log(arr[i][j].split( " ") + " " + arr[i][0])
}else{
console.log(arr[i][j].split( " ") + " " + arr[i][j+1])
}
}
}
它给了我
- 猫、狗、鼠标未定义
- 蓝色、红色、绿色未定义
【问题讨论】:
标签: javascript arrays cartesian-product