作成TIL 2021 10/6
再帰:すべての問題を1つの論理で解決してみます.
アレイ再帰関数
function arrSum(arr) {
if(!arr.length) {
return 0
}
const head = arr[0];
const tail = arr.slice(1);
return head + arrSum(tail)
// TODO: 여기에 코드를 작성합니다.
}
const head = arr[0];
const tail = arr.slice(1);
arr=[2,4,5,7].最初の関数で実行される場合、head=2、tail=[4,5,7].
2番目の関数で実行される場合、head=4、tail=[5,7].
3番目の関数で実行される場合、head=5、tail=[7]となります.
if(!arr.length) {
return 0
}
上記の条件のためarr.length値が0の場合、0が返されます.4番目の関数で実行する場合、head=7、tail=0です.
だから順番2+4+5+7のように加算します
if(!arr.length) = if(arr.length ===0) // 0 falsy 한 값
if(arr.isEmpty()) = if(arr.isEmpty() === true) // true truty한 값
デバッグ開発者コンソールで関数を記述すると、次のようにデバッグできます.
function and(arr) {
if(arr.length === 0){
return true;
}
const arr1 = arr[0];
const arr2 = arr.slice(1)
return arr1 && and(arr2)
// TODO: 여기에 코드를 작성합니다.
}
arr1 = true
// true
arr2 = true
// true
arr3 = false
// false
arr1 && arr2 && arr3
// false
論理:trueが1つしかない場合、値はtrueです.function or(arr) {
if(arr.length === 0){
return false;
}
const arr1 = arr[0];
const arr2 = arr.slice(1)
return arr1 || or(arr2)
// TODO: 여기에 코드를 작성합니다.
}
ar = false
false
ar2 = false
false
ar || ar2
false
ar3 = true
true
ar || ar2 || ar3
true
Reference
この問題について(作成TIL 2021 10/6), 我々は、より多くの情報をここで見つけました https://velog.io/@jelkov/TIL-작성-2021-106テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol