不确定我是否正确行事,所以希望有人可以提供帮助。我必须定义一个'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
。我做错了什么?
答案 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!');
};
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;
答案 3 :(得分:0)
似乎你正在寻找原型扩展,我认为这是一个坏主意。你应该坚持定义方法。
然而,作为解决方案。您需要污染现有的String
对象。
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;
答案 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!');
};