31 JSテストコメント
今月16日(金)に上記のコードで2週間の無料レッスンを終了し、簡単なテストを行いました.
これは,期間中に学んだJSの知識を正しく利用できるかを確認するためのテストである.
全部で5問のうち4問に負担はありませんが、1問が間違っていて少し戸惑っています.だから私はその問題についてコメントします.
Q.質問内容プールメソッド
1)該当するテキストを検索します.
2)文字がある場合は、対応するインデックス値を返します.
3)文字を繰り返すと、最初に表示された文字の位置を返します.
4)文字がない場合は-1を返します. 3問目までは、あまり難しくありませんでした.
いろいろ考えてみたが、なかなか答えが見つからないので、アプローチそのものが問題だと思った.したがって、一致する文字がなければ、結果にどの値が印刷されるかをチェックするとundefinedがエクスポートされることがわかります.
次に、エラーを解決し、答えとして提出するコードを示します.以降になって初めて知った事実ですが、includeやsearchを利用してより効率的なコードを記述することもできます.これは問題が発生したときにmdnで発見される方法であるが,正しく理解されていないため適用できない.
確かに、コードはより効率的になりました.
問題を解決する方法はいろいろありますが、その中にはもっと効果的な方法があるので、符号化が魅力的です.
これは,期間中に学んだJSの知識を正しく利用できるかを確認するためのテストである.
全部で5問のうち4問に負担はありませんが、1問が間違っていて少し戸惑っています.だから私はその問題についてコメントします.
Q.質問内容
문자열에 해당 문자가 여러번 나타나면, 첫번째로 나타나는 위치를 반환해야 합니다.
만약 문자가 문자열에 존재하지 않는다면, -1 을 반환해야 합니다.
중요!! indexOf 함수를 사용하지 마세요.
ex.
const output = getFind('a', 'I am a hacker')
console.log(output) // --> 2
初めてindexOfを見て思い出したのですが、使わせてもらえず迷いました.だからまず問題を一つ一つ分けて解決することにした.1)該当するテキストを検索します.
2)文字がある場合は、対応するインデックス値を返します.
3)文字を繰り返すと、最初に表示された文字の位置を返します.
4)文字がない場合は-1を返します.
function getFind(filter, sentence) {
let result;
for(let i = 0; i < sentence.length; i++) {
if(sentence[i] === filter) {
// 문자열 타입은 배열처럼 각각의 글자에 index값이 부여된다는 점을 활용
return i;
return result;
break;
// 첫 번째 값만 찾으면 되니 로딩시간을 줄일겸 `break`를 넣었다.
}
}
}
しかし今でも番号が伏兵であることは知られていない.for(let i = 0; i < sentence.length; i++) {
if(sentence[i] === filter) {
result = i;
return result;
} else if (sentence.length - 1 !== filter){
return -1
}
}
最初は最後の文字まで繰り返して結果値がなければ-1を返せばいいと思っていました.しかし、filter値が文の最後の文字と一致しない場合、else ifの条件は常に真である.いろいろ考えてみたが、なかなか答えが見つからないので、アプローチそのものが問題だと思った.したがって、一致する文字がなければ、結果にどの値が印刷されるかをチェックするとundefinedがエクスポートされることがわかります.
次に、エラーを解決し、答えとして提出するコードを示します.
function getFind(filter, sentence) {
let result;
for(let i = 0; i < sentence.length; i++) {
if(sentence[i] === filter) {
result = i;
return result;
break;
}
}
if(result === undefined) {
return -1
// 반복문이 종료된 후에 result의 값이 undefined라면 일치하는 값이 없다는 뜻
}
}
function getFind(filter, sentence) {
let condition = sentence.includes(filter);
if(!condition) {
return -1
} else {
return sentence.search(filter);
}
}
確かに、コードはより効率的になりました.
問題を解決する方法はいろいろありますが、その中にはもっと効果的な方法があるので、符号化が魅力的です.
Reference
この問題について(31 JSテストコメント), 我々は、より多くの情報をここで見つけました https://velog.io/@taekjun_s/31jstestreviewテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol