var findSubstring = function() {
var rlt = [], path = [];
allSort([1,2,3], rlt, path, 0, 3);
//console.log(rlt);
};
var allSort = function(arr, rlt, path, k, l) {
if (k == l) {
rlt.push(path);
return;
}
for (var i = 0; i < l ; i++) {
path.push(arr[i]);
allSort(arr, rlt, path, k+1, l);
path.pop();
}
}
findSubstring();
在allsort函数中单步输出的结果是正确的,但是在findSubstring输出函数的结果为27个长度为0的空数组,求诸位大神给解答一下,是什么原因造成的。
数组是引用,所以每一个rlt push的都是同一个对象。用arr.slice解决