使用条件语句

时间:2017-12-06 04:06:27

标签: javascript

我会给你两个字符串。我希望你一次将stringOne转换成stringTwo一个字母。

示例:

stringOne ='泡泡糖'; stringTwo ='turtle ham';

结果: 泡泡糖, 管状口香糖, 滚筒胶, 龟胶, 龟哼, 龟火腿

 function mutateMyStrings(stringOne, stringTwo){
  var result = stringOne + "\n";
  var stringOneArr = [...stringOne]; 
  var stringTwoArr = [...stringTwo]; 
  for (var i = 0; i < stringOneArr.length; i++) {
    if (stringOneArr[i] !== stringTwoArr[i]) {
      console.log(stringOneArr);
      stringOneArr[i] = stringTwoArr[i]
      result += (stringOneArr.join('') + "\n")
    }
  }
  return result;
}
console.log(mutateMyStrings('dog','cat'));

请阅读此内容,最重要的是。

if (stringOneArr[i] !== stringTwoArr[i]) {
  stringOneArr[i] = stringTwoArr[i]
  result += (stringOneArr.join('') + "\n")
}

我不明白为什么我们需要if(stringOneArr [i]!== stringTwoArr [i]) 声明。我没有它编写这个代码,并没有得到正确的答案

stringOneArr[i] = stringTwoArr[i]
result += (stringOneArr.join('') + "\n")

我收到此错误:

Expected: 'bubble gum\ntubble gum\nturble gum\nturtle gum\nturtle hum\nturtle ham\n', 
instead got: 'bubble gum\ntubble gum\ntubble gum\nturble gum\nturtle gum\nturtle gum\nturtle gum\nturtle gum\nturtle hum\nturtle ham\nturtle ham\n'

有人可以告诉我为什么在我的for循环中我不能只分配stringOneArr [i] = stringTwoArr [i]。对我来说,如果我只是遍历字符串并将每个string1元素分配给string2元素,它应该正确地出来。

但是,如果我说如果string1元素不等于string2元素,那么唯一正确地做到并获得正确输出的方法。而且我将它分配给string1元素到string2元素。为什么我不理解为什么它不能解决这个条件。

1 个答案:

答案 0 :(得分:1)

你没错,你可以只指定stringOneArr[i] = stringTwoArr[i]。但看起来你正在运行它的测试平台期望你跳过匹配的字符。因此,有必要检查是否stringOneArr[i] !== stringTwoArr[i]并跳过匹配的字符。这正是测试所需要的。