我有“阵列杂志”和“字符串赎金通知”。并希望基于字符串中的元素访问数组的元素。

这是我正在尝试的:magazine.findIndex(ransomNote [i])

var canConstruct = function(ransomNote, magazine){
    magazine = magazine.split('');
    //console.log(magazine);

    for(let i = 0; i < ransomNote.length; i++){
        if (magazine.includes(ransomNote[i])){
            element_to_erase = magazine.findIndex(ransomNote[i]);
            magazine = magazine.splice(element_to_erase , 1);
            //console.log(magazine);
            continue;
        } else {
            return false;
        }
    }
    return true;
};

console.log(canConstruct('aa', 'aab'));

最佳答案

findIndex将一个函数作为参数,并且您要向其传递一个字符串

你需要做

  magazine.findIndex((magazineString) => magazineString === ransomNote[i])


或者只是使用indexOf作为其注释中的指向,并可能验证在两种情况下返回的不是-1(indexOf)还是undefined(findIndex)。

08-07 09:10