[Java Script]「ソウルで金婿を探す」


1.問題の説明


String型配列seoulの要素でKimの位置xを見つけ,金婿はxでStringの関数を返し,解を完了する.seoulではKimは一度しか現れず,誤った値は入力されなかった.

2.制限

  • seoulは、長さが1より大きく、1000未満の配列です.
  • seoulの要素の長さは1より大きく、20より小さい.
  • KIMはきっとソウルに含まれています
  • 3.I/O例



    4.解決方法


    seoul配列にKIMがある場合は、その値のインデックスを返します.
    function solution(seoul) {
        for (let i=0; i<seoul.length; i++) {
            if(seoul[i] == "Kim") {
                return `김서방은 ${i}에 있다`
            }
        }
    }

    5.もう一つの解決方法は?(秋莱秋莱)


    1. array.prototype.indexOf()

    function solution(seoul) {
        const indexKim = seoul.indexOf("Kim");
        return `김서방은 ${indexKim}에 있다`
    }

    2. array.prototype.findIndex()


    :findIndexメソッドは、配列で指定された関数条件を満たす最初のインデックスを返します.満足できる要因がない場合は、-1を返します.
    The findIndex() method returns the index of the first element in the array that satisfies the provided testing function. Otherwise, it returns -1, indicating that no element passed the test
    function solution(seoul) {
        const indexKim = seoul.findIndex(x => x == "Kim");
        return `김서방은 ${indexKim}에 있다`
    }
    cf) array.prototype.find() : the find() method, which returns the value of an array element, instead of its index.