我的任务是编写一个名为" getAllWords"的函数。
给出一个句子," getAllWords"返回一个包含句子中每个单词的数组。
注意: *如果给出一个空字符串,它应该返回一个空数组。
我提出的是:
function getAllWords(str) {
var array = [];
for (var i = 0; i < str.length; i++) {
array.push(str[i]);
}
return array;
}
getAllWords('Radagast the Brown');
我得到的是:
[ 'R','a','d','a','g','a','s','t',' ','t','h','e',' ','B','r','o','w','n']
但我正在努力的是:</ p>
['Radagast', 'the', 'Brown']
答案 0 :(得分:-2)
您可以使用split方法实现此目的:
function getAllWords(sentence) {
return typeof sentence === 'string' && sentence.length > 0 ?
sentence.split(' ') : [];
}
var words = getAllWords('Radagast the Brown');
然后我们检查输入是否存在,实际上是一个字符串并且在返回拆分版本或空数组之前有任何内容。
假设您将始终获得一个字符串作为输入,您可以进一步将其简化为:
function getAllWords(sentence) {
return sentence.length > 0 ? sentence.split(' ') : [];
}
var words = getAllWords('Radagast the Brown');
答案 1 :(得分:-3)
正如您所看到的,迭代字符串将为您提供每个角色。
要获得每个单词,您应该使用String.split(' ')
function getAllWords(str) {
return str.split(' ');
}
console.log(getAllWords('Radagast the Brown'));
&#13;
答案 2 :(得分:-3)
var sentence = 'Radagast the Brown';
var words = sentence.split(' ').filter(c => c != '');
document.write(JSON.stringify(words));
&#13;
这是您需要的代码。
答案 3 :(得分:-3)
您只需要使用.split()函数。这会自动将结果转换为数组:
function getAllWords(str) {
if(str === "") {
var array = {};
} else {
var array = str.split(" ");
}
return array;
}
编辑:该函数还会检查字符串是否为空,如果字符串为空,则返回一个空数组。
答案 4 :(得分:-3)
使用javascripts String split()
函数。
例如:
var str = "Radagast the Brown";
var arr = str.split(' ');
console.log(arr);
答案 5 :(得分:-3)
function getAllWords(str) {
var arr = str.split(" ")
return arr;
}
console.log(getAllWords('Radagast the Brown'));
&#13;