random-chinese
Version:
Generate a random chinese character
24 lines (19 loc) • 934 B
text/typescript
function getRandomChineseCharacter(): string {
const chineseRanges: Array<[number, number]> = [
[], // CJK Unified Ideographs
[], // CJK Unified Ideographs Extension A
[], // CJK Unified Ideographs Extension B
[], // CJK Unified Ideographs Extension C
[], // CJK Unified Ideographs Extension D
[], // CJK Unified Ideographs Extension E
[], // CJK Compatibility Ideographs
[], // CJK Compatibility Ideographs Supplement
];
const randomChar = (): string => {
const range = chineseRanges[Math.floor(Math.random() * chineseRanges.length)];
const codePoint = Math.floor(Math.random() * (range[1] - range[0] + 1)) + range[0];
return String.fromCodePoint(codePoint);
};
return randomChar();
}
module.exports = getRandomChineseCharacter