使用indexOf()比较Array中的字符

Ale*_*kov 9 javascript

  function mutation(arr) {

  var tester = arr[1].split('');

  for (var i = 0; i < tester.length; i ++) {
    if (!arr[0].indexOf(tester[i])) return false;
  }
  return true;
  }

  mutation(["hello", "hey"]);
Run Code Online (Sandbox Code Playgroud)

如果数组的第一个元素中的字符串包含数组第二个元素中字符串的所有字母,那么我应该返回true.

我没有看到这个代码有任何问题,但它只通过90%的测试,我不知道为什么.我无法在那里看到一种模式 - 我应该遇到什么样的条件才能通过测试.

Ale*_*rev 8

indexOf()方法返回第一次出现的指定值的调用String对象中的索引,从fromIndex开始搜索.如果未找到该值,则返回-1.

String.prototype.indexOf() 如果找不到值,则返回-1,这就是您的语句不起作用的原因.

改成:

if (arr[0].indexOf(tester[i]) < 0) return false;
Run Code Online (Sandbox Code Playgroud)