FE-Interview icon indicating copy to clipboard operation
FE-Interview copied to clipboard

Day194:`var arr =[['A','B'],['a','b'],[1,2]]` 求二维数组的全排列组合 结果:Aa1,Aa2,Ab1,Ab2,Ba1,Ba2,Bb1,Bb2

Open Genzhen opened this issue 5 years ago • 3 comments

每日一题会在下午四点在交流群集中讨论,五点小程序中更新答案 欢迎大家在下方发表自己的优质见解 二维码加载失败可点击 小程序二维码

扫描下方二维码,收藏关注,及时获取答案以及详细解析,同时可解锁800+道前端面试题。

Genzhen avatar Dec 08 '20 03:12 Genzhen

const arr = [
  ['A', 'B'],
  ['a', 'b'],
  [1, 2],
];
const totalOrdering = (arr) => {
  return arr.reduce((acc, curr) => {
    let nextAcc = [];
    acc.forEach((item) => {
      curr.forEach((el) => {
        nextAcc.push(item + el + '');
      });
    });
    return nextAcc;
  });
};
console.log(totalOrdering(arr));

SilencyC avatar Dec 24 '20 04:12 SilencyC

function totalOrdering(arr) {
	let res = arr[0]
	console.log(res)
	for (let i = 1; i < arr.length; i++) {
		const pre = res
		res = []
		pre.forEach(item => {
			arr[i].forEach(curr => {
				res.push(item + curr)
			})
		})
	}
	console.log(res)
	return res
}
const arry = [['A', 'B'], ['a', 'b'], [1, 2]]
totalOrdering(arry)

luuman avatar Nov 02 '21 09:11 luuman

const arr = [['A', 'B'], ['a', 'b'], [1, 2]]

const main = (arr) => {
  return arr.reduce((pre, cur) => {
    const res = []
    pre.forEach(item => {
      cur.forEach(i => {
        res.push(item + i)
      })
    })
    return res
  })
}

console.log(main(arr))

DaphnisLi avatar May 15 '23 15:05 DaphnisLi