JS實現(xiàn)水平遍歷和嵌套遞歸操作示例
本文實例講述了JS實現(xiàn)水平遍歷和嵌套遞歸操作。分享給大家供大家參考,具體如下:
程序中存在著一些有意思的邏輯,比如多層嵌套可以用遞歸遍歷,比如同層的if else可以用數(shù)組遍歷。
下面舉例說明,多層嵌套的if else想要遞歸遍歷需要寫成下面的形式,以及用特定形式的遞歸遍歷:
多層嵌套的if else轉(zhuǎn)寫成的函數(shù)
let p1 = false,
p2 = true,
p3 = false;
let test = function() {
if (p1) {
return '終止1';
} else {
return function() {
if (p2) {
return '終止2'
} else {
return function() {
if (p3) {
return '終止3'
}
}
}
}
}
}
對多層嵌套的遍歷:
function yunxing1() {
while (test()) {
test = test()
if (typeof test === 'string') {
alert(test)
return '終止'
}
}
}
yunxing1()
同層多個if else改寫的函數(shù)以及遍歷方法
let i = 1,
a = 2,
b = 3;
function simpleVlidate() {
let varr = [];
varr.push(() => {
if (i === 1) {
return '不能等于1'
}
})
varr.push(() => {
if (a === 2) {
return '不能等于2'
}
})
varr.push(() => {
if (b === 3) {
return '不能等于3'
}
})
return varr
}
let arrs = simpleVlidate();
function yunxing() {
for (let i = 0, fn; fn = arrs[i++];) {
if (fn()) {
alert(fn())
return;
}
}
console.log(343433333333)
}
yunxing();
以上,總結(jié)的有意思的邏輯,也是可以簡化代碼的方法。這樣的邏輯還有很多………………
PS:這里再為大家推薦一款JS數(shù)組遍歷方式分析對比工具供大家參考:
在線JS常見遍歷方式性能分析比較工具:http://tools.jb51.net/aideddesign/js_bianli
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《javascript面向?qū)ο笕腴T教程》、《JavaScript數(shù)學運算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》及《JavaScript錯誤與調(diào)試技巧總結(jié)》
希望本文所述對大家JavaScript程序設計有所幫助。
相關(guān)文章
探析瀏覽器執(zhí)行JavaScript腳本加載與代碼執(zhí)行順序
本文主要基于向HTML頁面引入JavaScript的幾種方式,分析HTML中JavaScript腳本的執(zhí)行順序問題,通過本文給大家分享瀏覽器執(zhí)行JavaScript腳本加載與代碼執(zhí)行順序,對瀏覽器執(zhí)行javascript及執(zhí)行順序相關(guān)知識感興趣的朋友一起學習吧2016-01-01
JavaScript中Array.map()的使用與技巧分享(附實際應用代碼)
Array.map()適合需要返回新數(shù)組、進行鏈式調(diào)用或不修改原數(shù)組的場景,它與forEach()的區(qū)別在于有返回值,基本語法中,callback函數(shù)處理每個元素并返回新值,本文介紹了JavaScript中Array.map()的使用與技巧分享(附實際應用代碼),需要的朋友可以參考下2025-02-02
javascript實現(xiàn)數(shù)組扁平化六種技巧總結(jié)
這篇文章主要為大家詳細介紹了六種javascript中實現(xiàn)數(shù)組扁平化的技巧,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以了解下2023-12-12
ES6解構(gòu)賦值(數(shù)組,對象,函數(shù))使用詳解
這篇文章主要介紹了ES6解構(gòu)賦值(數(shù)組,對象,函數(shù))使用詳解,JavaScript 中最常用的兩種數(shù)據(jù)結(jié)構(gòu)是 Object 和 Array,解構(gòu)操作對那些具有很多參數(shù)和默認值等的函數(shù)也很奏效,本文通過實例代碼詳細講解需要的朋友可以參考下2022-11-11

