Cho 1 mảng: x = [['1'], ['2', 'a'], ['3'], ['4']]
Kết quả cần cho ra: 1, 2, a, 3, 4
12, 1a, 13, 14, 23, a3, 24, a4, 34
123, 1a3, 124, 1a4, 134, 234, a34
1234, 1a34
Code bên dưới tuy cho ra kết quả đúng nhưng quá dài và nặng chạy lại chậm
không biết có bạn nào có cách nào hiệu quả hơn không chỉ mình với _thank
Kết quả cần cho ra: 1, 2, a, 3, 4
12, 1a, 13, 14, 23, a3, 24, a4, 34
123, 1a3, 124, 1a4, 134, 234, a34
1234, 1a34
Code bên dưới tuy cho ra kết quả đúng nhưng quá dài và nặng chạy lại chậm
không biết có bạn nào có cách nào hiệu quả hơn không chỉ mình với _thank
Code:
var x = [['1'], ['2', 'a'], ['3'], ['4']] var m = x.length; for (var a1 = 0; a1<m; ++a1) { for (var b1 = 0; b1 < x[a1].length; ++b1) { document.write (x[a1][b1] + ', ') } } document.write ('<br />') for (var a1 = 0; a1<m; ++a1) { for (var a2 = a1 + 1; a2<m; ++a2) { for (var b1 = 0; b1 < x[a1].length; ++b1) { for (var b2 = 0; b2 < x[a2].length; ++b2) { document.write (x[a1][b1] + x[a2][b2] + ', ') } } } } document.write ('<br />') for (var a1 = 0; a1<m; ++a1) { for (var a2 = a1 + 1; a2<m; ++a2) { for (var a3 = a2 + 1; a3<m; ++a3) { for (var b1 = 0; b1 < x[a1].length; ++b1) { for (var b2 = 0; b2 < x[a2].length; ++b2) { for (var b3 = 0; b3 < x[a3].length; ++b3) { document.write (x[a1][b1] + x[a2][b2] + x[a3][b3] + ', ') } } } } } } document.write ('<br />') for (var a1 = 0; a1<m; ++a1) { for (var a2 = a1 + 1; a2<m; ++a2) { for (var a3 = a2 + 1; a3<m; ++a3) { for (var a4 = a3 + 1; a4<m; ++a4) { for (var b1 = 0; b1 < x[a1].length; ++b1) { for (var b2 = 0; b2 < x[a2].length; ++b2) { for (var b3 = 0; b3 < x[a3].length; ++b3) { for (var b4 = 0; b4 < x[a4].length; ++b4) { document.write (x[a1][b1] + x[a2][b2] + x[a3][b3] + x[a4][b4] + ', ') } } } } } } } }
Comment