Given two strings ransomNote and magazine, return true if ransomNote can be constructed by using the letters from magazine and false otherwise.
    Each letter in magazine can only be used once in ransomNote.

    給予兩個字串分別為 ransomNote、magazine,如果 ransomNote 可以被建構成 magazine 使用的文字,則回傳 true,否則回傳false。
    

    Example 1:

    Input: ransomNote = "a", magazine = "b"
    Output: false
    

    Example 2:

    Input: ransomNote = "aa", magazine = "ab"
    Output: false
    

    Example 3:

    Input: ransomNote = "aa", magazine = "aab"
    Output: true
    

    solution:
    1. 將 magazine 中的字串轉成陣列放入 array。
    2. 從 ransomNote中取出每一個字串
    3. 宣告 index 為 array 中符合 element 的元素位置。
    4. 如果不存在,indexOf 為 -1,則 index 為負數跳出迴圈。
    5. 如果存在,使用 splice 將該元素刪除。
    6. 如 magazine 中階存在 ransomNote 的元素,則回傳 true。

    Code 1:

    var canConstruct = function(ransomNote, magazine) {
        let array = [...magazine]
        for (const element of ransomNote) {
            const index = array.indexOf(element)
            if (index < 0) return false;
            array.splice(index, 1)
        }
        return true;
    };
    

    FlowChart:
    Example 1

    Input: ransomNote = "a", magazine = "b"
    
    index = array.indexOf(a) //-1
    return false;
    

    Example 2

    Input: ransomNote = "aa", magazine = "ab"
    
    index = array.indexOf(a) //0
    array.splice(index, 1) //['a']
    
    index = array.indexOf(a) //-1
    return false;
    

    Example 3

    Input: ransomNote = "aa", magazine = "aab"
    
    index = array.indexOf(a) //0
    array.splice(index, 1) //['a']
    
    index = array.indexOf(a) //0
    array.splice(index, 1) //['a']
    
    return true;