算法可视化网站
visualgo.net/en
冒泡排序--方法1
const arr = [9, 26, 51, 2, 55, 3, 567, 12];
for (let i = 1; i < arr.length; i++) {
for (let j = 0; j < arr.length - 1; j++) {
let temp = arr[j];
if (arr[j + 1] < arr[j]) {
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
console.log(arr);
手写JS深拷贝--方法1
var obj = {
name: "messi",
age: 34,
team: { LaLiga: "Barcelona", Ligue: "paris" },
friend: ["neymar", "suarez", { Argentina: "Di María" }]
};
function deepClone(obj = {}) {
if (typeof obj !== "object" || obj == null) {
return obj;
}
let result;
if (obj instanceof Array) {
result = [];
} else {
result = {};
}
for (let k in obj) {
if (obj.hasOwnProperty(k)) {
result[k] = deepClone(obj[k]);
}
}
return result;
}
const newObj = deepClone(obj);
newObj.team.LaLiga = "gogogo";
console.log(newObj, obj);
