JavaScript。我正在尝试使用 .findIndex() 但收到以下消息 : TypeError: a is not a function

标签 javascript arrays

我有“数组杂志”和“字符串勒索笔记”。并希望根据字符串中的元素访问数组的元素。

这就是我正在尝试的: 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) 在任何一种情况下。

关于JavaScript。我正在尝试使用 .findIndex() 但收到以下消息 : TypeError: a is not a function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61596845/

相关文章:

java - 如何将Arduino中的数据存入mysql数据库并计算平均值

c - 将行分割成单词数组 + C

javascript - 具有多个条件的 Jquery 过滤器

javascript - 在 JS 中移动元素

java - 计算成绩数组

c - 这两种结构用法之间的区别

java - 尽管没有访问任何越界索引,但出现异常 "ArrayOutOfBounds:1"

javascript - 如何在 html Vue 列表模板上插入索引?

javascript - 如何在 IE 中使用 relatedTarget(或等效)?

javascript - 如何解决 vuetify 扩展面板的问题?