zilongxuan001 / LearnFreecode

0 stars 0 forks source link

Mutations #300

Open zilongxuan001 opened 6 years ago

zilongxuan001 commented 6 years ago

挑战

检查第二个单词的每个字母是不是都包含在第一个单词里。是则返回true,不是则返回false。

代码


function mutation(arr) {
  var arrLower1=arr[0].toLowerCase();

  var arrLower2=arr[1].toLowerCase();

  var arrSplit1=arrLower1.split("");

  var arrSplit2=arrLower2.split("");

  var max=0;

  for(i=0;i<arrSplit2.length;i++){
    if(arrSplit1.indexOf(arrSplit2[i])===-1){
      max=-1; 

    } else{
      max+=0;
    }  
  } 

   if(max===-1){
       return false;
     }else{
       return true;
     }

}

mutation(["hello", "hey"]);

结果显示

image

帮助

String.prototype.indexOf()

来源

https://www.freecodecamp.org/challenges/mutations

zilongxuan001 commented 6 years ago

错误代码


function mutation(arr) {
  var arrLower1=arr[0].toLowerCase();

  var arrLower2=arr[1].toLowerCase();

  var arrSplit1=arrLower1.split("");

  var arrSplit2=arrLower2.split("");

  for(i=0;i<arrSplit2.length;i++){
    if(arrSplit1.indexOf(arrSplit2[i])===-1){
      return false; 
    } else{
      return true;//如果arr[1]的第一个字母属于arr[0],那么会直接返回true。这样如果存在第一个字母属于,第二字母不属于的情况下,就不符合题目要求。
    }  
  } 

}

mutation(["hello", "hey"]);
zilongxuan001 commented 6 years ago

20180403 .indexOf()是检查一个字符串里是否包含某字符,如果不包含就返回-1,如果包含就返回索引号。

用法

'Blue Whale'.indexOf('Blue');     // returns  0
'Blue Whale'.indexOf('Blute');    // returns -1
'Blue Whale'.indexOf('Whale', 0); // returns  5
'Blue Whale'.indexOf('Whale', 5); // returns  5
'Blue Whale'.indexOf('Whale', 7); // returns -1

'Blue Whale'.indexOf('Whale', 5);是指从索引号5开始搜索,return 5的5是指whale在字符串中开始的索引号为5。

Blue Whale'.indexOf('Whale', 7);是指从索引号7开始搜索,结果为没有,所以返回-1

还有一个方法是.lastIndexOf(),是逆序寻找某字符是否在字符串中。

参考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice