按字母顺序排列单词
arranging words in an alphabetical order
我有一个问题,我有一个包含字符串的 text.file,此代码现在打印出单词并让我知道使用了多少个相同的单词。
有没有一种方法可以让我在 Node.js 环境中按字母顺序排列单词。
代码:
const { readFile, readFileSync } = require('fs');
let file = 'C:\Users\eeroj\source\repos\Nodejs\pish\pish\TextFile2.txt';
let words = "";
function countRepeatedWords(sentence) {
let words = sentence.split(" ");
let wordMap = {};
for (let i = 0; i < words.length; i++) {
let currentWordCount = wordMap[words[i]];
let count = currentWordCount ? currentWordCount : 0;
wordMap[words[i]] = count + 1;
}
return wordMap;
}
words = readFileSync(file).toString();
console.log(countRepeatedWords(words));
- 你的数据是wordMap = [{'word':'A'},{'word':'B'}, ...]
wordMap.sort((a,b) => a.word - b.word);
- 你的数据是wordMap = [A', 'B', ...]
wordMap.sort();
您可以使用 Object.entries()
创建您的对象条目列表,然后使用 Array.sort()
按键对它们进行排序,然后使用 Object.fromEntries()
:[=15= 创建您的排序地图]
const { readFileSync } = require('fs');
let file = 'C:\Users\eeroj\source\repos\Nodejs\pish\pish\TextFile2.txt';
function countRepeatedWords(sentence) {
const wordMap = sentence.toLowerCase().split(" ").reduce((acc,cur) => {
acc[cur] = (acc[cur] || 0) + 1;
return acc;
}, {});
// Sort the map alphabetically...
const sortedEntries = Object.entries(wordMap).sort(([a,],[b,]) => a.localeCompare(b));
const sortedWordMap = Object.fromEntries(sortedEntries);
return sortedWordMap;
}
const words = readFileSync(file).toString();
console.log(countRepeatedWords(words));
还有一个片段来演示:
function countRepeatedWords(sentence) {
const wordMap = sentence.toLowerCase().split(" ").reduce((acc,cur) => {
acc[cur] = (acc[cur] || 0) + 1;
return acc;
}, {});
// Sort the map alphabetically...
const sortedEntries = Object.entries(wordMap).sort(([a,],[b,]) => a.localeCompare(b));
const sortedWordMap = Object.fromEntries(sortedEntries);
return sortedWordMap;
}
const words = `What a piece of work is a man How Noble in reason How infinite in faculty In form and moving how express and admirable In Action how like an Angel in apprehension how like a God The beauty of the world the paragon of animals and yet to me what is this quintessence of dust Man delights not me nor woman neither though by your smiling you seem to say so` ;
console.log(countRepeatedWords(words));
我有一个问题,我有一个包含字符串的 text.file,此代码现在打印出单词并让我知道使用了多少个相同的单词。 有没有一种方法可以让我在 Node.js 环境中按字母顺序排列单词。
代码:
const { readFile, readFileSync } = require('fs');
let file = 'C:\Users\eeroj\source\repos\Nodejs\pish\pish\TextFile2.txt';
let words = "";
function countRepeatedWords(sentence) {
let words = sentence.split(" ");
let wordMap = {};
for (let i = 0; i < words.length; i++) {
let currentWordCount = wordMap[words[i]];
let count = currentWordCount ? currentWordCount : 0;
wordMap[words[i]] = count + 1;
}
return wordMap;
}
words = readFileSync(file).toString();
console.log(countRepeatedWords(words));
- 你的数据是wordMap = [{'word':'A'},{'word':'B'}, ...]
wordMap.sort((a,b) => a.word - b.word);
- 你的数据是wordMap = [A', 'B', ...]
wordMap.sort();
您可以使用 Object.entries()
创建您的对象条目列表,然后使用 Array.sort()
按键对它们进行排序,然后使用 Object.fromEntries()
:[=15= 创建您的排序地图]
const { readFileSync } = require('fs');
let file = 'C:\Users\eeroj\source\repos\Nodejs\pish\pish\TextFile2.txt';
function countRepeatedWords(sentence) {
const wordMap = sentence.toLowerCase().split(" ").reduce((acc,cur) => {
acc[cur] = (acc[cur] || 0) + 1;
return acc;
}, {});
// Sort the map alphabetically...
const sortedEntries = Object.entries(wordMap).sort(([a,],[b,]) => a.localeCompare(b));
const sortedWordMap = Object.fromEntries(sortedEntries);
return sortedWordMap;
}
const words = readFileSync(file).toString();
console.log(countRepeatedWords(words));
还有一个片段来演示:
function countRepeatedWords(sentence) {
const wordMap = sentence.toLowerCase().split(" ").reduce((acc,cur) => {
acc[cur] = (acc[cur] || 0) + 1;
return acc;
}, {});
// Sort the map alphabetically...
const sortedEntries = Object.entries(wordMap).sort(([a,],[b,]) => a.localeCompare(b));
const sortedWordMap = Object.fromEntries(sortedEntries);
return sortedWordMap;
}
const words = `What a piece of work is a man How Noble in reason How infinite in faculty In form and moving how express and admirable In Action how like an Angel in apprehension how like a God The beauty of the world the paragon of animals and yet to me what is this quintessence of dust Man delights not me nor woman neither though by your smiling you seem to say so` ;
console.log(countRepeatedWords(words));