5.10
- 回溯算法是什么?
- new Array(nums.length).fill(false) Arrays.fill()函数 参考blog.csdn.net/m0_52445259…
- js事件监听及事件销毁
- 同一个事件被addeventsListener多次注册,就会执行多次
- stopPropagation(),preventDefault(),return false的区别 参考blog.csdn.net/YY_WYG/arti…
- JavaScript中的Proxy proxy的运用 参考www.jianshu.com/p/38ded8654…
- 如何手动触发一个按钮的点击事件 document.getElementById('myEl').click()
- el-popover自主控制显示和收起的方法 el-popover的内部是怎么封装的
Array.prototype.flat() 特性:数组拍平方法 Array.prototype.flat() 也叫数组扁平化、数组拉平、数组降维 参考blog.csdn.net/sinat_17775…
- 输入:nums = [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]
generateFn(Arr) {
let returnArr = [];
if (Arr.length === 1) { returnArr = [Arr]; }
else if (Arr.length > 1) {
let lastArr = this.generateFn(Arr.slice(1));
lastArr.forEach((item)=>{
for (let i = 0; i <= item.length; i++) {
let tempArr = JSON.parse(JSON.stringify(item));
tempArr.splice(i, 0, Arr[0]);
returnArr.push(tempArr); } }); }
console.log(returnArr, 'returnArr');
return returnArr; }
generateFn(nums) {
let res = []; let path = [];
let used = new Array(nums.length).fill(false);
const dfs = (nums, used) => {
if (path.length === nums.length) {
res.push([...path]); return; }
for (let i = 0; i < nums.length; i++) {
if (!used[i]) { path.push(nums[i]);
used[i] = true; dfs(nums, used);
path.pop(); used[i] = false;
} } };
dfs(nums, used);
console.log(res, 'res111111');
return res; },