How-to
Find kanji
Lists by grade and level, the kanji in a text, a search, and what can be mistaken for what.
The elementary-school kanji
import {ELEMENTARY_GRADES,JOYO_GRADES,kanjiOfGrade} from "@johnmorrisdotca/jisho";
import {GRADES} from "@johnmorrisdotca/jisho/grades";
console.log(ELEMENTARY_GRADES.flatMap((grade)=>kanjiOfGrade(GRADES,grade)).length);
console.log(JOYO_GRADES.flatMap((grade)=>kanjiOfGrade(GRADES,grade)).length);1026
2136How hard a piece of text is
kanjiIn takes the kanji out of a text, and levelOf says which list holds each one.
import {kanjiIn,levelOf} from "@johnmorrisdotca/jisho";
import {JLPT} from "@johnmorrisdotca/jisho/jlpt";
console.log(kanjiIn("日本語を勉強します").map((one)=>[one,levelOf(JLPT,one)]));[
[ '日', 'N5' ],
[ '本', 'N5' ],
[ '語', 'N5' ],
[ '勉', 'N4' ],
[ '強', 'N4' ]
]Search by a reading or a meaning
searchKanji takes a kanji, an on or kun reading, or a meaning in English or French. Those that are exactly the word come first, then those that hold it, the commonest first in each.
import {readKanji,searchKanji} from "@johnmorrisdotca/jisho";
import {KANJI} from "@johnmorrisdotca/jisho/kanji";
console.log(searchKanji(readKanji(KANJI),"mountain").slice(0,3).map((one)=>one.kanji));[ '山', '岳', '尾' ]What a kanji can be mistaken for
import {lookAlikes} from "@johnmorrisdotca/jisho";
import {LOOK_ALIKE} from "@johnmorrisdotca/jisho/look-alike";
console.log(lookAlikes(LOOK_ALIKE,"土").map((one)=>one.kanji));
console.log(lookAlikes(LOOK_ALIKE,"千",{atLeast:60}).map((one)=>one.kanji));[ '工', '士', '里', '王', '五' ]
[ '牛', '斤', '午', '升', '手', '十' ]atLeast is the lowest score to take, and max how many to give back; how the pairs are measured says how to choose them.
For words rather than kanji, see Look words up.