在這里逐步整理一些JS開發的知識,分享給大家:
一:冒泡排序
使用場景:陣列中根據某個值得大小來對這個陣列進行整體排序
難度:簡單
原理:先進行回圈,回圈獲取第一至倒數第二的范圍內所有值,對當前值與下一回圈的值進行判斷,如果滿足條件,直接在回圈中進行替換,再重復呼叫方法本體
案例:
var arr = [10,1,2,5,12,3,42,20]
function arrleft(){
var value='';
for(var i=0;i<arr.length-1;i++){
if(arr[i] < arr[i+1]){
value = https://www.cnblogs.com/smileZAZ/p/arr[i];
arr[i] = arr[i+1];
arr[i+1] = value;
return arrleft();
}
}
console.log(arr);
}
arrleft();
二:二叉樹列
使用場景:在規格固定的json中找到對應值
難度:困難
原理:通過多重決議呼叫的方式,獲取json的所有子級
案例:
資料模板
var json = {
id:0,
value:'0',
left:{
id:1,
value:'a',
left:{
id:2,
value:'b',
left:{
id:3,
value:'c',
},
right:{
id:4,
value:'d',
left:{
id:5,
value:'e'
}
}
},
right:{
id:6,
value:'f',
right:{
id:7,
value:'g'
}
}
},
right:{
id:8,
value:'h',
left:{
id:9,
value:'I',
right:{
id:10,
value:'J',
left:{
id:11,
value:'K'
}
}
},
right:{
id:11,
value:'L'
}
}
}
方法
var i=0;
function jsonFun(json,name){
i++;
if(json.id == name){
console.log(json);
}else{
console.log(json.value);//前序遍歷
if(json.left){
jsonFun(json.left,name)
}
console.log(json.value);//中序遍歷
if(json.right){
jsonFun(json.right,name)
}
console.log(json.value);//后序遍歷
}
}
jsonFun(json,1);
console.log(i);//回圈次數
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/58163.html
標籤:JavaScript
