ниже является решением проблемы проблемы с соединением leetcodehttps://leetcode.com/problems/combinations/. В принципе, n выберите k, верните все возможности. Я бегу в эту проблему внутри моей второй цикл, где вы видитеjavascript array.push (array.push (x)) странный результат
tmpResult[i].push(n);
result.push(tmpResult[i]);
Если я сделать
result.push(tmpResult[i].push(n));
результат очень разные, и я получаю сообщение об ошибке: Line 22: TypeError: tmpResult [i] .push не является функцией. Я родом из мира java и что javascript делает по-другому в этом одном строчном коде, который отличается от двух строк над ним?
var combine = function(n, k) {
if (k === 0 || k > n)
return [];
var result = [];
if (k === 1) {
for (var i = 1; i <= n; i++) {
result.push([i]);
}
return result;
}
// choose n
var tmpResult = combine(n-1,k-1);
for(var i = 0; i < tmpResult.length; i++) {
tmpResult[i].push(n);
result.push(tmpResult[i]);
// below doesnt work
// result.push(tmpResult[i].push(n));
}
// not choose n
result = result.concat(combine(n-1, k));
return result;
};
спасибо, я должен был посмотрел на апи более тщательно! –