将句子字符串拆分为单词数组,然后将单词数组拆分为单词数组中的字符数组
Splitting sentence string into array of words, then array of words into arrays of characters within the array of words
我正在解决 freecodecamp.com 的问题,我想看看到目前为止我的代码是否在做我认为它正在做的事情......
function titleCase(str) {
var wordArr = str.split(' '); // now the sentences is an array of words
for (var i = 0; i < wordArr.length; i++) { //looping through the words now...
charArr = wordArr[i].split(''); //charArr is a 2D array of characters within words?
return charArr[1][1];
}
}
titleCase("a little tea pot"); // this should give me 'i', right?
同样,这只是代码的开始。我的目标是在 titleCase();
的参数中大写每个单词的第一个字母。也许我什至没有做对这件事。
但。。。在第 4 行charArr
是一个多维数组。这是否创造了[['a'],['l','i','t','t','l','e'],['t','e','a','p','o','t']]
?
除了 ABR 答案(我还不能评论):
charArr 是一个一维数组,如果你想让它成为一个 2D 数组,你需要推送 wordArr[i].split('') 的结果;而不是分配它。
charArr.push(wordArr[i].split(''));
并且不要忘记将 charArr 初始化为空数组
几个问题:
1. 您的 return 语句将在一次迭代后停止此操作。
2. 如果其中一个单词少于 2 个字母(例如示例中的第一个字母,即"a") - 您将在 charArr[1][1] 处获得异常。
除此之外,它基本上还可以。它可能会帮助您下载像Firebug这样的工具并实时测试您的代码...
您可以执行以下操作:
function titleCase(str) {
var newString = "";
var wordArr = str.split(' ');
for (var i = 0; i < wordArr.length; i++) { //looping through the words now...
var firstLetter = wordArr[i].slice(0,1); // get the first letter
//capitalize the first letter and attach the rest of the word
newString += firstLetter.toUpperCase() + wordArr[i].substring(1) + " ";
}
return newString;
}
您还需要删除for loop
中的return statement
,因为 for 循环第一次遍历 return
语句时,它将结束函数,您将无法遍历所有单词
在这里您可以了解有关string.slice()
的更多信息:http://www.w3schools.com/jsref/jsref_slice_string.asp
相关文章:
- Javascript-从随机的单词数组中创建段落
- 将组成单词的字符添加到数组的开头
- undercore返回数组中对象的indes,其中单词存在于对象中的句子中
- Javascript-在一个数组中搜索整个单词,并创建一个符合条件的新数组
- 在两个位置显示数组中的随机单词
- 如果输入包含数组中的任何单词
- 单词数组到字符串
- 如何在 JavaScript 中将数组中每个单词的首字母大写
- 当javascript单词this用作数组时,它的含义是什么
- 如果字符串与数组中的多个单词匹配,则Javascript会选择该字符串
- Javascript/Node AI-如何使用match从单词数组中重复单词
- innerhtml.replace没有替换数组javascript中的所有单词
- 找到包含单词的特定链接并添加到数组中
- 将单词与具有JavaScript Regexp的数组进行匹配
- 在单词数组中查找相似的单词
- 查找数组中最长的单词/字符串
- 如何在 Javascript 中将字符串的每个单词放入数组中
- j查询从数组中删除值(如果包含单词)
- 在二维数组 JavaScript 中插入单词和计数
- 使用数组更改输入框中某些单词的颜色