function:返回一个包含字符串中每个单词的数组,如果string为空则返回空数组

时间:2017-07-20 07:07:53

标签: javascript arrays string function

我的任务是编写一个名为" 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']

6 个答案:

答案 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(' ')

&#13;
&#13;
function getAllWords(str) {
  return str.split(' ');
}

console.log(getAllWords('Radagast the Brown'));
&#13;
&#13;
&#13;

答案 2 :(得分:-3)

&#13;
&#13;
var sentence = 'Radagast the Brown';
var words = sentence.split(' ').filter(c => c != '');

document.write(JSON.stringify(words));
&#13;
&#13;
&#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)

&#13;
&#13;
function getAllWords(str) {

 var arr = str.split(" ")
 return arr;
}

  console.log(getAllWords('Radagast the Brown'));
&#13;
&#13;
&#13;