跳到主要内容

JavaScript程序按字母顺序排序单词

要理解这个示例,你应该了解以下JavaScript编程主题的知识:

示例:按字母顺序排序单词

// 程序:按字母顺序排序单词

// 输入
const string = prompt("请输入一个句子:");

// 转换为数组
const words = string.split(" ");

// 排序数组元素
words.sort();

// 显示排序后的单词
console.log("排序后的单词是:");

for (const element of words) {
console.log(element);
}

输出

请输入一个句子:I am learning JavaScript
排序后的单词是:
I
JavaScript
am
learning

在上面的示例中,提示用户输入一个句子。

  • 使用 split(' ') 方法将句子分割成数组元素(单个单词)。split(' ') 方法在空白处分割字符串。

  • 使用 sort() 方法对数组元素进行排序。sort() 方法按字母顺序和升序对字符串进行排序。

  • 使用 for...of 循环遍历数组元素并显示它们。

这里,我们按字母顺序排序。因此,预期的输出是am, I, JavaScript和learning。然而,am在I和JavaScript之后打印。

为什么I和JavaScript在am之前打印?

这是因为JavaScript中的I和J是大写的。当我们使用 sort() 方法时,大写字母会排在小写字母之前。

我们可以通过只输入小写来验证这一点。

// 程序:按字母顺序排序单词

// 输入
const string = prompt("请输入一个句子:");

// 转换为数组
const words = string.split(" ");

// 排序数组元素
words.sort();

// 显示排序后的单词
console.log("排序后的单词是:");

for (const element of words) {
console.log(element);
}

输出

请输入一个句子:i am learning javascript
排序后的单词是:
am
i
javascript
learning

这里,我们现在得到了预期的输出。

注意:除了从数组中显示值之外,你还可以使用 join() 方法将数组元素转换回字符串并作为字符串显示值。

words.join(" "); // I JavaScript am learning