使用此if语句定义函数

时间:2017-08-16 09:58:35

标签: javascript function

不确定我是否正确行事,所以希望有人可以提供帮助。我必须定义一个'explode'函数,它接受一个字符串并在除了first和last之外的所有字母周围添加一个空格。例如,使用字符串Kristopher调用函数将返回K r i s t o p h e r

这是我的代码:

function explode(text) {
  var spacedString = '';
  var max = text.length;
  for (var i = 0; i < max; i++) {
    spacedString += text[i];
    if (i !== (max - 1)) {
      spacedString += ' ';
    }
  }

  return spacedString;
}

console.log(explode('Kristopher'));

它让我回到kristopher。我做错了什么?

5 个答案:

答案 0 :(得分:1)

您的功能很好,但您可以简化它:

function explode(text) {
  return text.split('').join(' ')
}

您的if声明错误,请尝试:

if (explode('Kristopher') === 'K r i s t o p h e r') {

   console.log('Success!');

};

答案 1 :(得分:1)

您可以将原型添加到String对象并拆分字符串并返回带空格的连接字符串。

String.prototype.explode = function () {
    return this.split('').join(' ');
}

console.log('weltschmerz'.explode());

答案 2 :(得分:0)

您没有通过explode作为参数调用'Kristopher'函数。它必须是

if (explode('Kristopher') === 'K r i s t o p h e r') {

   console.log('Success!');

};

&#13;
&#13;
function explode(text) {
  var spacedString = '';
  var max = text.length;
  for (var i = 0; i < max; i++) {
    spacedString += text[i];
    if (i !== (max - 1)) {
      spacedString += ' ';
    }
  }
  return spacedString;
};

if (explode('Kristopher') === 'K r i s t o p h e r') {

  console.log('Success!');

};
&#13;
&#13;
&#13;

答案 3 :(得分:0)

似乎你正在寻找原型扩展,我认为这是一个坏主意。你应该坚持定义方法。

然而,作为解决方案。您需要污染现有的String对象。

&#13;
&#13;
String.prototype.explode = function() {
  return this.split('').join(' '); //Improved code for explosion
};

if ('Kristopher'.explode() === 'K r i s t o p h e r') {
  console.log('Success!');
};
&#13;
&#13;
&#13;

答案 4 :(得分:0)

您可以将explode方法添加到String对象:

String.prototype.explode = function () {
  return this.split('').join(' ');
}

console.log('Kristopher'.explode());

if ('Kristopher'.explode() === 'K r i s t o p h e r') {
  console.log('Success!');
};