+
50
-

js中文分词后如何对多个标题按文字匹配度排序?

js中文分词后如何对多个标题按文字匹配度排序?

例如

// 给定的词语数组
const words = ["你好", "我", "美好"];

// 示例的标题数组
const titles = [
  "美好的一天",
  "你好吗",
  "我和你好友的美好时光",
  "早安,你好",
  "这真是一个美好的世界"
];


网友回复

+
0
-
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">

</head>
<body>

    <script>
        const words = ["你好", "我", "美好"];

// 示例的标题数组
const titles = [
  "美好的一天",
  "你好吗",
  "我和你好友的美好时光",
  "早安,你好",
  "这真是一个美好的世界"
];

// 计算每个标题中包含给定词语的数量
const calculateMatchCount = (title, words) => {
  let count = 0;
  words.forEach(word => {
    if (title.includes(word)) {
      count += 1;
    }
  });
  return count;
};

// 根据包含词语的数量排序标题
const sortedTitles = titles.sort((a, b) => {
  const countA = calculateMatchCount(a, words);
  const countB = calculateMatchCount(b, words);
  return countB - countA;  // 降序排列
});

console.log(sortedTitles);
    </script>
</body>
</html>
		

我知道答案,我要回答