用于Javascript中的循环和数组拆分

时间:2016-10-20 05:32:54

标签: javascript arrays loops

这是我在函数中的当前代码。我试图在第一个中创建一个for循环,但是我并不完全确定我是否正确地执行了它,因为我尝试制作的数组返回了一个错误。

我一直在:

  

未捕获的TypeError:thisWord.split不是函数

我不确定我做错了什么,有人可以帮忙吗?

var thisWord = words 
for (q = 0; q < words.length; q++) {
    // cast the string to all lowercase
    thisWord[q] = words[q].toLowerCase(); 
}

var thisArray = thisWord.split('');

thisArray.sort();

2 个答案:

答案 0 :(得分:0)

如果words是一个字符串数组,那么你应该这样做:

&#13;
&#13;
var words = ["asAAAaad", "SSssbb", "asddASD"];
var newWords = words.map(function(word) {
  return word.toLowerCase();
});
console.log(newWords); // ["asaaaaad", "ssssbb", "asddasd"];
newWords.sort();
console.log(newWords); // ["asaaaaad", "asddasd", "ssssbb"];
&#13;
&#13;
&#13;

如果单词是间隔字符串

var words = "asAAAaad SSssbb asddASD";
var newWords = words.split(" ");
console.log(newWords); // ["asAAAaad", "SSssbb", "asddASD"]
newWords.sort();
console.log(newWords); // ["SSssbb", "asAAAaad", "asddASD"]

答案 1 :(得分:0)

虽然strings是不可变的,并且您可以将toLowerCase用于整个字符串,但您可以将toLowerCase的值分配给另一个或同一个变量。

var words = "Es war einmal ein Prinz, der hatte",
    thisWord = words.toLowerCase(), 
    thisArray = thisWord.split('');

thisArray.sort();
console.log(thisWord);
console.log(thisArray);