我們如何突出顯示最重復的字符,例如文本中出現頻率最高的 5 個字符。這是用于計算 textarea 中每個字符的代碼。
import React, { useState, useMemo } from "react";
const removeSpace = (text) => text.replace(/\s/g, "");
function Home() {
const [text, setText] = useState("");
const eachCharResult = useMemo(() => {
let result = {};
let textWithoutSpace = removeSpace(text);
for (let i = 0; i < textWithoutSpace.length; i ) {
if (result[textWithoutSpace[i]]) result[textWithoutSpace[i]] ;
else result[textWithoutSpace[i]] = 1;
}
return result;
}, [text]);
return (
<div>
<form>
<h3>Please enter text</h3>
<textarea
onChange={(e) => setText(e.target.value)}
placeholder="start typing"
></textarea>
<p>Total number of character :{removeSpace(text).length}</p>
</form>
{Object.keys(eachCharResult).map((el, i) => (
<p key={i}>{`${el}: ${eachCharResult[el]}`}</p>
))}
</div>
);
}
export default Home;
我想突出顯示在文本中重復最頻繁的文本,如影像t重復5次數,然后是 s e o i。將它們顯示為most repeated character
并顯示總數t s e o i

uj5u.com熱心網友回復:
從我可以告訴您的目標來看,您想列出 5 個最常見的字符及其數量。您可以對條目陣列進行排序,保留前 5 個結果,然后將它們映射到 JSX。
Object.entries(eachCharResult)
.sort(([, a], [, b]) => b - a) // <-- sort by the values (i.e. letter counts)
.slice(0, 5) // <-- keep first 5 entries
.map(([key, value], i) => (
<p key={key}>
{key}: {value}
</p>
))

轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/344944.html
標籤:javascript 反应
上一篇:ReactuseParams根本不顯示引數,回傳具有許多值的物件
下一篇:區塊鏈論文學習
