javascriptは再帰を実現する.
17399 ワード
javascriptは再帰を実現する.
一、再帰する
再帰的には、関数が自己の呼び出しを実現する過程であり、再帰的には関数の呼び出しが必要であり、条件の終了を実現する.次のいくつかの例.
一、再帰する
再帰的には、関数が自己の呼び出しを実現する過程であり、再帰的には関数の呼び出しが必要であり、条件の終了を実現する.次のいくつかの例.
<script>
let num = 1;
function fn(){
console.log(" ");
if(num == 6){
return;
}
num++;
fn();
}
fn();
script>
再帰的に6つの言葉を印刷します.<script>
function fn(n) {
if (n == 1) {
return 1;
}
return n * fn(n - 1);
}
console.log(fn(4));
script>
最終表示結果は24です.<script>
function fb(n) {
if (n === 1 || n === 2) {
return 1;
}
return fb(n - 1) + fb(n - 2);
}
console.log(fb(5));
console.log(fb(6));
script>
最終結果は5,8です
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Documenttitle>
head>
<body>
<script>
var data = [{
id: 1,
name: ' ',
goods: [{
id: 11,
gname: ' ',
goods: [{
id: 111,
gname: ' '
}, {
id: 112,
gname: ' '
}, ]
}, {
id: 12,
gname: ' '
}]
}, {
id: 2,
name: ' '
}];
// id ,
// 1. forEach
function getID(json, id) {
var o = {
};
json.forEach(function(item) {
// console.log(item); // 2
if (item.id == id) {
// console.log(item);
o = item;
// 2. 11 12
// goods 0
} else if (item.goods && item.goods.length > 0) {
o = getID(item.goods, id);
}
});
return o;
}
console.log(getID(data, 1));
console.log(getID(data, 2));
console.log(getID(data, 11));
console.log(getID(data, 12));
console.log(getID(data, 111));
script>
body>
html>
最後のデモはデータの検索効果を実現します.2020年1月8日にまとめます.