A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
う〜〜〜ん、せっかく30ぷんもかけてみじかいコードにしてかいたのにはんのうがないね。
ちょっとやっつけかんが、ひどすぎたでしょうか。
やっぱり hash検索 ではなく、map をつかうべきでした。
あちこちできいてまわっているようですが、しょうかふりょうをおこしませんように
ごじあいください。
<!DOCTYPE html>
<meta charset="UTF-8">
<html lang="ja">
<title>?</title>
<style>
</style>
<body>
<h1>Test</h1>
<input type="search" value="リンゴ" onblur="dic(this.value)">
<br>
<textarea cols="80" rows="10"></textarea>
<body>
<script>
const HASH = new Map ();
const words = [
['苺', '赤い', 'おいしい', 'すっぱい'],
['リンゴ', '青森', '赤い', 'おいしい', 'すっぱい', 'シャイニーアップルジュース']
];
class R {
constructor (key, level) {
this.key = [ ].concat (key);
this.level = level;
}
add (key, level) {
this.key.push (key);
let
l0 = this.level,
l1 = level;
this.level = (l0 + l1) / (1 + l0 * l1);
return this;
}
sort () {
this.key.sort ((a, b) => HASH.get (a).level < HASH.get (b).level);
}
}
for (let ws of words) {
let key = ws.shift (), gain = 1 / ws.length, c = 1;
HASH.set (key, new R (ws, c));
for (let w of ws)
c *= gain, HASH.has (w)) ? HASH.get (w).add (key, c): HASH.set (w, new R (key, c));
}
function dic (key) {
let mess = '知らない';
if (HASH.has (key)) {
let obj = HASH.get (key);
obj.sort ();
mess = obj.key.map (s => s + '(' + HASH.get (s).level+ ')').join ('\n');
}
document.querySelector ('textarea').value = mess;
}
</script>
No.1
- 回答日時:
う〜ん、だれもこたえてこないね。
これがただしいほうほうかもわからない。
つかわれたことばにすうちをつけてみた。
<!DOCTYPE html>
<meta charset="UTF-8">
<html lang="ja">
<title>?</title>
<style>
</style>
<body>
<h1>Test</h1>
<input type="search" value="リンゴ" onblur="dic(this.value)"><br>
<textarea cols="80" rows="10"></textarea>
<body>
<script>
class R {
constructor (key, level) {
this.key = [ ].concat (key);
this.level = level;
}
add (key, level) {
this.key.push (key);
let
l0 = this.level,
l1 = level;
this.level = (l0 + l1) / (1 + l0 * l1);
return this;
}
sort () {
this.key.sort ((a, b) => HASH[a].level < HASH[b].level);
}
}
let words = [
['苺', '赤い', 'おいしい', 'すっぱい'],
['リンゴ', '青森', '赤い', 'おいしい', 'すっぱい', 'シャイニーアップルジュース']
];
let HASH = { };
for (let ws of words) {
let key = ws.shift ();
let gain = 1 / ws.length;
let c = 1;
HASH[key] = new R (ws, c);
for (let w of ws) {
c *= gain;
if (w in HASH) {
HASH[w].add (key, c);
}
else {
HASH[w] = new R (key, c);
}
}
}
function dic (key) {
let mess = '知らない';
if (key in HASH) {
let obj = HASH[key];
obj.sort ();
mess = obj.key.map (s => s + '(' +HASH[s].level+ ')').join ('\n');
}
document.querySelector ('textarea').value = mess;
}
</script>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 食べ物・食材 柑橘系の酸っぱい果物 6 2022/07/02 21:55
- 食生活・栄養管理 エラグ酸を多く含んだ食品について 1 2023/02/27 15:18
- JavaScript javaScriptで画面に値を入れるには 1 2022/08/14 12:27
- アプリ 【ChatGTP】Androidアプリで1番おすすめのChatGTPアプリを教 1 2023/03/10 06:55
- 哲学 リンゴの想起の式 4 2023/07/26 12:42
- エステ・脱毛・美容整形 顎ボトについて質問です。 顎が後退しているのでヒアルロン酸を検討しています。 ネット検索すると、顎ボ 2 2023/07/25 20:05
- 兄弟・姉妹 姉が解決法を知らないのにアドバイスしたがります。 全く知識がないくせに自分の考えを押し付けてくるので 2 2022/08/16 14:19
- 教えて!goo 質問の回答にわざわざ、質問者のIDを使って「○○様」などと文中にやたらID連呼の回答をする人がなぜい 7 2023/02/07 13:10
- 教えて!goo 指摘されたので質問です 1 2022/04/17 14:11
- 教えて!goo ある質問に、"女だと思ってたらオッサンだったとかね" と回答しましたら、 gooから違反だと削除した 5 2022/08/12 17:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
初心者javascript ウィンドウサ...
-
getElementsByNameで要素が取得...
-
ブラウザにて一定間隔(タイム...
-
html javascript 作った配列を...
-
SCRIPT5007: 未定義または NULL...
-
「オブジェクトを指定してくだ...
-
JavaScript でキーを送る
-
jQuery ツールチップの中のリンク
-
フォーカス移動抑止について
-
idHOGEで取得したinnerText(数...
-
JavaScriptでiframeの内容を「...
-
キーを押している間の時間を計...
-
function の return 値を表示し...
-
Javascript でText file の書き...
-
【js】onsubmit属性が変更できない
-
<a href="#" …>の意味を教えて...
-
JavaScriptのエラー ( 関数の...
-
javascriptでbgmを自動再生する...
-
SQLのWHEREで全てを質問する方法
-
showModalDialogで開いた画面か...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
getElementsByNameで要素が取得...
-
JavaScript でキーを送る
-
SCRIPT5007: 未定義または NULL...
-
function の return 値を表示し...
-
JavaScriptでiframeの内容を「...
-
フォーカス移動抑止について
-
リンク移動先のURLを取得
-
bodyタグのfocus
-
ボタンのID名を取得するには?
-
IEの拡大・縮小機能をWebページ...
-
javascriptでクリックしたリン...
-
指定したセルにrowspan属性を適...
-
「オブジェクトを指定してくだ...
-
htaでVBSのソースを書いたらエ...
-
AjaxでDBから取得したデータを...
-
jQuery ツールチップの中のリンク
-
XMLHTTPRequestでstatusが0に
-
JavaScriptでの西暦下2桁での表...
-
初心者javascript ウィンドウサ...
-
ページ全体を検索して特定文字...
おすすめ情報