首页 > 解决方案 > array.includes() 不像我预期的那样工作,没有检测到包含的元素

问题描述

我在这个函数中编写它,其中数组包含两个元素的数组,一个用户名和一个分数。我想通过他们的分数找到前 N 个用户名,所以每次调用该函数时,我都会检查我正在查看的用户名是否已经在数组中。

findLargest(array) {
    let largest = this.state.users.toIndexedSeq().get(0);
    let score = 0;
    console.log(array);
    // eslint-disable-next-line consistent-return
    this.state.users.entrySeq().forEach((element) => {
      console.log([element[1].username, element[1].score]);
      if (array.includes([element[1].username, element[1].score])) {
        console.log(element);
        console.log(array);
        return null;
      }
      if (element[1].score > largest.score) {
        // eslint-disable-next-line prefer-destructuring
        largest = element[1];
        score = element[1].score;
      }
    });
    return [largest.username, score];
  }

然而,我只获得了N次最佳射手。

标签: reactjsimmutable.js

解决方案


推荐阅读