猿问

JS数组重新一一组合?有点说不清,来看代码哈~

例如,我有一个数组:

[
  [a, b],
  [1, 2],
  [一, 二]
]

现在要的结果:

[
  [a, 1, 一],
  [a, 1, 二],
  [a, 2, 一],
  [a, 2, 二],
  [b, 1, 一],
  [b, 1, 二],
  [b, 2, 一],
  [b, 2, 二]
]

该如何实现?


慕少森
浏览 439回答 1
1回答

千巷猫影

function doSomething(arr) {&nbsp; &nbsp; &nbsp; &nbsp; var len = arr.length;&nbsp; &nbsp; &nbsp; &nbsp; if (len >= 2) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var len1 = arr[0].length;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var len2 = arr[1].length;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var newlen = len1 * len2;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var temp = new Array(newlen);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var index = 0;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for (var i = 0; i < len1; i++) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for (var j = 0; j < len2; j++) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; temp[index] = (arr[0][i] + ',' +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; arr[1][j]).split(',');&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; index++;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var newArray = new Array(len - 1);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for (var i = 2; i < len; i++) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; newArray[i - 1] = arr[i];&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; newArray[0] = temp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return doSomething(newArray);&nbsp; &nbsp; &nbsp; &nbsp; } else {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return arr;&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答