X



+ JavaScript の質問用スレッド vol.141 +

■ このスレッドは過去ログ倉庫に格納されています
0001Name_Not_Found
垢版 |
2019/07/05(金) 18:13:28.39ID:j+97lL/8
JavaScript を自ら学ぶ人のための質問スレッドです。
次スレは>>950が(本スレで改善案があれば考慮して)立ててください

■規則/推奨ルール
質問者は !slip:vvvvv を名前欄に、その後は「レス番」+!slip:vvvvv
・質問内容は具体的に。言葉だけでなく、出来る限り再現性を確認したサンプルコードの掲示。
・質問テンプレートの利用推奨。
・質問への「答え」から解離した議論はよそでやること。
■禁止行為
・丸投げ質問
・迷惑スクリプトの質問
・オレオレ用語の使用(一般的な用語を使用する事)
・煽り、批判等の他人を不快にさせる行為
■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。
【条件】期待する回答の条件を書いてください。
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
 1レスに収まらないならコード投稿サイトを利用してください。
 http://jsdo.it/ http://jsbin.com/ http://jsfiddle.net/ http://ideone.com/
■回答者へ
・回答には多様性があります。他人の回答を尊重してください
・動作ブラウザや環境が限られる場合は、それを明記してください
・他人の回答を批判する代わりに、自分ならこう書くという例を示してください
・質問者がJavaScriptでなければ実現できないと勘違いしてるなら、その否定としてHTMLとCSSで実装しても良い
・他人の回答を見たくないのであれば、文句をつける代わりにNGにして見えないようにしてください。文句をつける=荒らしです

■前スレ
+ JavaScript の質問用スレッド vol.140 +
https://mevius.5ch.net/test/read.cgi/hp/1558249632/
0114Name_Not_Found
垢版 |
2019/07/09(火) 19:00:49.22ID:???
>>113
> 「関数を書きたくない」というなら、巨大な関数である jQuety()を定義しているコードに魅力を感じるのは

jQueryを使うなら「関数を書かなくていい」じゃん
「関数を書きたくない」という要望を見事に満たしている。
0115Name_Not_Found
垢版 |
2019/07/09(火) 19:15:13.42ID:???
そもそもプログラム書きたくないんですけどどうしたらいいですか?
0116Name_Not_Found
垢版 |
2019/07/09(火) 19:37:36.54ID:???
>>114
「メモリも食わない」の要件を満たしてないじゃん
0117Name_Not_Found
垢版 |
2019/07/09(火) 19:39:54.22ID:???
エラーにならないオブジェクトとかそもそもがヤバい
0118Name_Not_Found
垢版 |
2019/07/09(火) 19:40:48.14ID:???
>>116
それは「すべてのものはメモリを食う」という結論で終わったろ?
0119Name_Not_Found
垢版 |
2019/07/09(火) 19:40:53.34ID:???
そもそも、>>102は質問者なのか?
他人が悪のりしてるのか、質問者本人なのか分からん
0121Name_Not_Found
垢版 |
2019/07/09(火) 19:45:21.11ID:???
jQueryはscript要素を余計に書かないといけないので、面倒くさい
0122Name_Not_Found
垢版 |
2019/07/09(火) 19:49:31.63ID:???
jq談義は誰も得しないのでやめよう
0123Name_Not_Found
垢版 |
2019/07/09(火) 19:56:31.05ID:???
そんな面倒くさがりの君にプレゼント
Object(element).value = 'bar';

ライブラリ使うよりお手軽だよ!
メソッド呼び出しは要件にないから知らないよ!

そもそも、NullPointerExceptionはエラー検知として捉える向きもあるので、一概に悪いとはいえない(上で懸念されてるのはそういうことかと)
ポリシーの違いを他人を批判する理由にするのは止めよう >>1参照
0124Name_Not_Found
垢版 |
2019/07/09(火) 19:57:38.63ID:???
無いときにエラーにしたくなくて、あるときに全ての要素を対象にしたければ
DOM APIには複数要素取得する手段がいくつもあるんだから
それでmapなんかで回せばいいだけじゃん
0125Name_Not_Found
垢版 |
2019/07/09(火) 19:59:01.08ID:???
>>112
どうだろう
CSS はデザインの話で、コンテンツそのものの話とは区別されるんじゃないかと

> 出力先はどういう性質かというのを記述
これなんてまさにそれ


 オブジェクトのプロパティに値をセットしたつもりが
 そもそもオブジェクトありませんでしたー
でエラーが出なくて幸せになる具体的なシーンが思いつかない、というのもある


「『対象の性質を宣言』しようとしましたが、その対象は存在しませんでした」ってことでしょう?
0126Name_Not_Found
垢版 |
2019/07/09(火) 20:01:55.41ID:???
>>124
1. elements を取得します
2. elements.length を使って for ループして item(i) 等で個々の element を取得して処理します

コレではダメ?
0128Name_Not_Found
垢版 |
2019/07/09(火) 20:10:01.65ID:???
>>127
NodeListは普通にfor(let elm of list)で回せる
0129Name_Not_Found
垢版 |
2019/07/09(火) 20:13:26.42ID:???
>>128
最近のブラウザは大丈夫なのかな
以前、調べたときには仕様はOKだったのに、iterableではない実装が結構あった
Symbolで自前定義したけど
0133Name_Not_Found
垢版 |
2019/07/09(火) 21:11:26.17ID:???
>>120
> メモリ消費量が違う

せやね。メモリが640KBしか無いような環境は問題になるだろうね。
ブラウザが動くのか知らんが
0134Name_Not_Found
垢版 |
2019/07/09(火) 21:15:24.26ID:???
要件定義は質問者とやりな
0135Name_Not_Found
垢版 |
2019/07/09(火) 21:36:14.37ID:???
単に大したメモリ消費量じゃないと言ってるだけ
0136Name_Not_Found
垢版 |
2019/07/09(火) 21:40:54.42ID:???
> ・回答には多様性があります。他人の回答を尊重してください
0137Name_Not_Found
垢版 |
2019/07/09(火) 21:41:59.69ID:???
jsにも ?. が実装される草案は先送りになったのかな
0139Name_Not_Found
垢版 |
2019/07/09(火) 21:43:48.15ID:???
jQueryが消費するメモリ
→大した消費量じゃない!

自前で関数ちょこっと書くのに消費するメモリ→
とんでもないメモリ消費!
0140Name_Not_Found
垢版 |
2019/07/09(火) 21:45:15.99ID:???
>>137
先送り??
tc39の制定プロセス知らないの?.
0141Name_Not_Found
垢版 |
2019/07/09(火) 21:46:36.15ID:???
その煽る気満々の内容で質問者に回答してやればいいのに、これだからマウント君は
0142Name_Not_Found
垢版 |
2019/07/09(火) 21:53:39.94ID:???
>>137
ES全体的に前みたいに大量の草案をガツガツ進める雰囲気じゃなくて
細かい仕様をより小規模なミーティングを頻繁にして少しづつ着実に落ち着いて進める感じになってる

その上でオプショナルチェーンの進歩状況はやや鈍調
本来なら輸入構文で順調に行くはずだけど、
ついでにこれもセットで欲しい機能のオプショナルコールについて問題を抱えていたので
あまり進捗してこなかったのが、直近のミーティングで前に進んだ
もう一山か二山あるだろうけど、ゴールの明かりがちらりと見えた所
0143Name_Not_Found
垢版 |
2019/07/10(水) 05:04:01.56ID:???
firefox x64 + Stylus + Greasemonkey
とあるよく利用しているサイトが今一つ使いづらいので、
Stylusの自作スクリプトで必要以上の余計な広告を非表示にし、
非同期処理させて処理の高速化を図りました。
改めてそのサイトのソースを見たらsetTimeoutで特定の広告を少し時間差を置いて表示させ、
更に時間差を置いて記事部分を表示させるなんてことをやっていることが判明。
即時表示させる手段はないかと、StylusかGreasemonkeyでsetTimeoutの無効化とか、
そのスクリプト自体の上書きか無効化が出来ないか試行錯誤中。
どなたか、何かアドバイスなど頂ければ幸いです。
0144Name_Not_Found
垢版 |
2019/07/10(水) 06:23:21.58ID:???
元あるものを改変するのではなく記事の内容を取得して表示するリーダーアプリを作ったほうが聡い
0147Name_Not_Found
垢版 |
2019/07/10(水) 07:22:05.13ID:???
>>133
そのまえに html コンテンツと gif / jpeg 読み込んだだけで溢れかねない
15.6MB でも足りないページは一杯ありそうだしね

都度で swap とか悪夢だろうが CF カードにキャッシュ置ければマシか
0148Name_Not_Found
垢版 |
2019/07/10(水) 07:42:06.00ID:???
…もともとがRuby房召喚のためだけの質問っぽいけど…

>>112
> 出力先はどういう性質かというのを記述する。

element がらみの場合は DOM ツリーの適切な場所に適切な要素を記述し
その要素にその性質を記述するものではないのかしらん
まとめたければ DocumentFragment 使うとか、元質問に即して言えば事前に createElement すれば良いんでないかい

ただ、元質問は「対象が存在しないときにスルー」って言ってるんだから「宣言型プログラミング」とやらは今回別に要らないでしょ
コレクションのアイテム数を数え、アイテム数を越える分は処理しなければ良いだけ
…ってのを >>111 のリンク先で書いてみたんだが…
0149Name_Not_Found
垢版 |
2019/07/10(水) 08:11:38.75ID:???
>>94
?. は、NULL 許容(エルビス)演算子だろ。
横から見ると、エルビスプレスリーに見える

Ruby では、関数名の最後の文字に、?, ! が使える

? は、真偽値を返すメソッド名に使う。
! は、レシーバーの内容を変えるメソッド名に使う

このルールがあるから、可読性が高い!

その代わりに、エルビスが使えないから、&. を使う
0150Name_Not_Found
垢版 |
2019/07/10(水) 09:26:14.27ID:???
俗称エルビス演算子は?.ではなく?:
これだからクソ言語信者は。
?.の一般的な名前は>>110
0151Name_Not_Found
垢版 |
2019/07/10(水) 12:29:22.31ID:???
エルビス?
かつて流行した vi クローンで nvi の祖先のこと?
0152Name_Not_Found
垢版 |
2019/07/11(木) 08:29:47.48ID:???
最近、Ruby信者をいろんなスレで見かけるのは、Rubyが下火になっているからか
多言語の機能を取り込むのは良いことだが、機能に拘るのは偏食と変わらないな
0153Name_Not_Found
垢版 |
2019/07/11(木) 11:16:19.28ID:???
文字列が入った配列(例として["aaa","aaa","bbb","bbb","ccc","ccc",…以下1000個ほど続くとする])があるとして、
この配列を「できるだけ似た文字列が並ばないように」並び替える方法ってどんなものが考えられますか?
つまり["aaa","bbb","ccc","aaa","bbb","ccc",…] となるように並べ替えたいです
言い換えれば「できるだけ似てない文字列が隣合って並ぶように」バラけさせるアルゴリズムです
レーベンシュタイン距離でというのも考えましたが「1つ前の文字列からもっとも遠い文字列を」短絡的に並べていくのでは、上記の例でいうと
["aaa","ccc","aaa","ccc","bbb","bbb",…]
というふうに、もっとも遠い文字列を使い果たした後はむしろ近いものが並んでしまうのではないかと危惧してます
0154Name_Not_Found
垢版 |
2019/07/11(木) 11:29:48.65ID:???
もっと要件詰めなよ。仕事でそんな発注するんじゃないぞ。
0155Name_Not_Found
垢版 |
2019/07/11(木) 11:55:02.49ID:???
ソートして半分に割って一個ずつ取り出し並べていけば良いんじゃね
0156Name_Not_Found
垢版 |
2019/07/11(木) 12:19:33.79ID:???
>>153
「似た文字列」を定義する事から始めては?
0157Name_Not_Found
垢版 |
2019/07/11(木) 12:41:20.42ID:???
「似た文字」は文字の類似度を数値で返す関数がある
という前提でいいだろ
0158Name_Not_Found
垢版 |
2019/07/11(木) 12:47:05.63ID:???
じゃあsortにその関数使ったコンパレータぶっ込んで終わり。
はい次。
0159Name_Not_Found
垢版 |
2019/07/11(木) 12:47:50.29ID:???
>>153
レーベンシュタイン距離でいいんじゃないか?

1. 同一文字をまとめて、ユニークな文字列の値、出現回数をまとめた配列(or Map)を作る
2. 隣接要素のレーベンシュタイン距離がしきい値を越えるように並べ替える
3. 1周する
4. 各要素の出現回数を -1
5. 全要素が出現回数0なら終了。一部に出現回数0があったら、2.へ、それ以外は3.へ
0160Name_Not_Found
垢版 |
2019/07/11(木) 12:55:32.55ID:???
>>153
例えば100通りランダムに並び替える
その中で10個距離が短いのを選んでそれぞれ10通りランダムに少量だけ並び替える
その繰り返しでいい
0161Name_Not_Found
垢版 |
2019/07/11(木) 13:00:50.25ID:???
>>158
素朴な疑問なんだけど、Array#sortって隣接要素の判定条件を指定出来るの?
2つの要素が似た文字列だった場合に引き離す機能がないと実装出来ないと思うんだけど
0162Name_Not_Found
垢版 |
2019/07/11(木) 13:15:30.24ID:???
>>153
"aaa"
"bbb"
"ccc"

だけなら、「setにしてdeleteしてランダムに選ぶ」を繰り返せば良くね
0163Name_Not_Found
垢版 |
2019/07/11(木) 13:17:15.71ID:???
巡回セールスマン問題か?
0164Name_Not_Found
垢版 |
2019/07/11(木) 13:25:41.28ID:???
>>153
const length = 100
const a = ["aaa", "bbb", "ccc"]

let aryResults = []
aryResults.push(a[(Math.random()*3 | 0)]) // 2 ** 31 を下回ることが保証されているので | 0 で可

const l = length - 1
for (i = 0; i < l; i++) {
console.log(aryResults[i])
let setTmp = new Set(a)
setTmp.delete(aryResults[i])
const arrTmp = [...setTmp]
aryResults.push(arrTmp[(Math.random()*2 | 0)])

}
console.log(aryResults)

…例がわるい
「文字列が入った配列」の種類はいくつよ
0165Name_Not_Found
垢版 |
2019/07/11(木) 13:54:53.95ID:???
例えば範囲が、1〜100 なら、

1, 100, 2, 99 みたいに取っていくと、
最後には、50 近辺の数字ばかりが残るから、ダメ!

無数のアルゴリズム・シミュレーションを繰り返して、
合計距離が多くなるように、しないといけない
0166こんなのはダメ?
垢版 |
2019/07/11(木) 14:33:34.54ID:???
// 出現回数は考慮しないものとする
// 小文字アルファベット a-z から選ぶものとする
const length = 100
const threshold = 10
let a = []
let place = []
let aryResults = []

for (let i = 0; i < 26; i++) {
let strTmp = String.fromCharCode(0x61 + i)
a.push(strTmp)
place.push(-threshold)
}

for (let i = 0; i < length; i++) {
let t = i - threshold
let setTmp = new Set(a)
for (j = 0; j < 26; j++) {
if (place[j] > t) { setTmp.delete(a[j]) }
}
const arrTmp = [...setTmp]
let x = (Math.random() * arrTmp.length | 0)
place[x] = i
aryResults.push(arrTmp[x])
}
console.log(aryResults)
0167Name_Not_Found
垢版 |
2019/07/11(木) 15:13:28.83ID:???
>>153
うーん
定性的な部分をどうにかしないと書けないな


「似た文字列」
何をもって「似ている」と判断するか基準不明

「できるだけ似た文字列が並ばないように」
→どの範囲で許されるのか

高田馬場1丁目1番地、2番地…
高田馬場2丁目1番地、2番地…
高田馬場3丁目1番地、2番地…
高田馬場4丁目1番地、2番地…
高田馬場5丁目1番地、2番地…

西早稲田1丁目1番地、2番地…
西早稲田2丁目1番地、2番地…
西早稲田3丁目1番地、2番地…
西早稲田4丁目1番地、2番地…
西早稲田5丁目1番地、2番地…

とかなら、まだ分かりやすいだろうけど(高田馬場m丁目と西早稲田n丁目の遠近は度外視として)
0169168
垢版 |
2019/07/11(木) 18:57:22.10ID:???
厳密には、先頭/末尾の繋ぎが未チェックという問題が残っているが…
2.のソート時に繋ぎを意識したsortにして、5.から2.へ行く前に直前要素と先頭要素を比較する処理を入れてやれば良さそうだ
0170Name_Not_Found
垢版 |
2019/07/11(木) 19:05:14.95ID:???
Set 使えば登場回数ゼロはありえないだろ
0171Name_Not_Found
垢版 |
2019/07/11(木) 21:08:08.24ID:???
>>170
>>153ではaaa,bbb,cccが何度も登場してる
そもそも、重複がなかったら、この質問は成立しないわけで
0172Name_Not_Found
垢版 |
2019/07/11(木) 22:05:01.09ID:???
>>171
それなら >>164 のように完全ランダムにするか、
3つの順列をセットとして 3P3 = 3! = 6通りから、末尾の文字と異なる文字で始まるモノで並べて行くか

完全ランダムだと残り物にバラつきが出すぎる可能性はあるけど


3つの順列で心配なら
a - b - a - c - b - c
a - b - c - a - b - c
a - b - c - b - a - c
a - b - c - b - c - a
(以下省略)
とかいう組み合わせを事前に作っておいて並べて行けば良いんじゃね


バラつき具合の判別方法は知らんけど…
0173Name_Not_Found
垢版 |
2019/07/11(木) 22:46:54.92ID:???
難しく考えすぎ
期待値に達するまで適当に振り分続ければいいだけ
あとはその振り分けアルゴリズムが完全なランダムより賢ければ賢いだけコストが減る
それを十分な状態になるまで追求すればいいだけ
0174Name_Not_Found
垢版 |
2019/07/11(木) 23:06:14.34ID:???
>>173
振り分けアルゴリズムの質問にその回答はなかろうて
0175Name_Not_Found
垢版 |
2019/07/12(金) 00:11:21.39ID:???
「ナップサック問題」でも「全検索」は解の1つ
エレガントではないかも知れないが、不正解という評価は誤り
0177Name_Not_Found
垢版 |
2019/07/12(金) 07:09:02.33ID:???
こういう時は発送を逆転させる
つまり良い分配アルゴリズムではなく、悪い整頓アルゴリズムを考える
それで思いつくものを現実的な妥協点として良いと思う
そういう意味ではランダムは悪くない
0178Name_Not_Found
垢版 |
2019/07/12(金) 07:13:30.04ID:???
最初ランダムで走査して固まってる部分があったら適当に入れ替えてほぐす
その繰り返しはどうだろうか?
0180Name_Not_Found
垢版 |
2019/07/12(金) 08:28:39.10ID:???
>>171
配列を splice() すれば良かろう
人にケチ付けてる暇があったら改善案出せよ無能
0181Name_Not_Found
垢版 |
2019/07/12(金) 08:35:04.73ID:???
>>175
> 「ナップサック問題」でも「全検索」は解の1つ

「全検索 アルゴリズム」でぐぐっても見つからないが、もしかして「全探索」といいたかったのか?
全探索は「全ての組み合わせを試す」というもので、1000個の要素なら、最大試行回数=1000*999*998*...*3*2*1回となる力業

> エレガントではないかも知れないが、不正解という評価は誤り

>>173は「失敗したらやり直す」なので「全探索」とは違う
「振り分けアルゴリズム」に欠陥があれば、永久に失敗するので無限ループとなるし、アルゴリズムの成功確率が低ければ、試行回数は全探索よりも高くなる可能性が高い
アルゴリズムに欠陥がない場合の最大試行回数は「1〜∞回」で運要素の高い方法
0182Name_Not_Found
垢版 |
2019/07/12(金) 08:43:34.05ID:???
>>180
>>170

> Set 使えば登場回数ゼロはありえないだろ

とケチをつけたが、>>159の回答を咀嚼すれば「登場回数」がそういう意味ではないことが分かるはずなので、それを指摘しただけ

> 人にケチ付けてる暇があったら改善案出せよ無能

これは>>170にいいたい
0183Name_Not_Found
垢版 |
2019/07/12(金) 09:41:21.55ID:???
>>181
>>173は失敗したらやり直すのとは違うでしょ
遺伝的アルゴリズムと言ったら大げさだけど、モンテカルロ法で円周率を求めるのと同じくこの手のアルゴリズムは運任せでも現実的には収束していくんだから
この手のアルゴリズムで不運が重なって想定よりも遥かに時間がかかる事を想定するのは、計算中にマシンが突然クラッシュしたりビットアップセットを起こしたりするのを心配するようなもの
最善でなくても一定の期待値を越えれば良いというときには良いアルゴリズムだよ
0184Name_Not_Found
垢版 |
2019/07/12(金) 11:14:45.16ID:???
>>181
1000は無いだろ

選択肢3つなんだから、たとえば1002個あったと仮定して、
同じ選択肢が決して連続しないのは大前提だろ
「できるだけ似てない文字列が隣合って並ぶように」って言ってんだから

ケチばっか付けた挙句完全に誤ったこと書いてんじゃねえよ無能
0185Name_Not_Found
垢版 |
2019/07/12(金) 11:17:21.32ID:???
なんで選択肢が3つだけだと思ったんだろう…
0186Name_Not_Found
垢版 |
2019/07/12(金) 11:33:35.09ID:???
ランダムに(または、ルールで制限しつつ)シャッフルして、
許容回数実行して、最善のものを選ぶ

最良のアルゴリズムを考えなくて良いから、
これが簡単で現実的で、そこそこ良い結果も得られる
0187Name_Not_Found
垢版 |
2019/07/12(金) 11:47:35.76ID:???
要約すると

「できるだけ似た文字列が並ばないように」並び替えるアルゴリズムは思いつかないので
「ランダムに」並び替えるアルゴリズムでごまかしましょう
0188Name_Not_Found
垢版 |
2019/07/12(金) 12:29:54.13ID:???
>>184
結局、「全検索」のアルゴリズムを説明出来てない
オレオレ用語を使わず、一般的な用語を書け
0189Name_Not_Found
垢版 |
2019/07/12(金) 12:47:43.74ID:???
重複しない整数からなる4個以上の数列がある
例 1,2,3,4

これを並び替えて、隣り合う数の差が2以上である
並びとして次のようなものが考えられる
例 3,1,4,2

この数列が大量(例1 000個)にあるとき
隣り合う数の差が2以上に並び替えるアルゴリズムを考えよ
また、隣り合う数の差の合計が最大になるアルゴリズムを考えよ
アルゴリズムは高速であればあるほどよい

参考 隣り合う数の差の合計
3,1,4,2,5 の場合 2+3+2+3=10
4,2,5,1,3 の場合 2+3+4+2=11
0190Name_Not_Found
垢版 |
2019/07/12(金) 12:49:36.02ID:???
>>187
逆でしょ
何が効果的か根拠も自信もなくて抽象的で実装できるかもわからない理論よりも
ランダム探索でそこそこの結果を得ればいいと割り切る方が誤魔化さずハッキリしてるでしょ
0191Name_Not_Found
垢版 |
2019/07/12(金) 12:51:26.45ID:???
1000個もいらんかね?
100個でも総当たりするのは十分しんどいレベルになるな
9.3326215443944152681699238856267e+157
0192Name_Not_Found
垢版 |
2019/07/12(金) 12:52:09.49ID:???
>>190
そこそこ結果でOKなんて誰が言ったんですか?
0193Name_Not_Found
垢版 |
2019/07/12(金) 12:57:10.07ID:???
1文字目で分類して最も多いものから順に均等に振り分ける
その振り分け範囲内で2文字について同じように振り分けなおす
短文字ではこれを繰り返すのが最もコストが少なく並び替えられる
0194Name_Not_Found
垢版 |
2019/07/12(金) 13:01:01.68ID:???
>>189
質問は文字列だぞ?
簡単に数値に置き換えられ無いだろ
0196Name_Not_Found
垢版 |
2019/07/12(金) 14:02:20.62ID:???
>>189
0,500,1,501…なら499001
500,0,999,1,998,2…なら499999

ちなみにランダムで1000回試行で350000、100000回試行で360000程度
最低限何らかのアルゴリズムは無いときつくね?
0197Name_Not_Found
垢版 |
2019/07/12(金) 14:32:18.01ID:???
うわ
マウンターばっかり

屁理屈こねまくって重箱の隅をつつきまくって
1行もコードも何も具体的なモノ書かずに
良く上から目線で書き込めるもんだ
0198Name_Not_Found
垢版 |
2019/07/12(金) 14:38:39.76ID:???
>>153 における
> 文字列が入った配列(例として["aaa","aaa","bbb","bbb","ccc","ccc",…以下1000個ほど続くとする])

の構成要素が、具体的に ["aaa,""bbb,", "ccc" ...] 以外何があるか回答がない
釣り確定だな
0199Name_Not_Found
垢版 |
2019/07/12(金) 14:47:11.28ID:???
>>198
どんな文字列が入ってきてもって意味だろ
答えられないからって釣り認定するなよ
0200Name_Not_Found
垢版 |
2019/07/12(金) 16:36:52.91ID:???
>>199
板違い

そういうのは計算機科学の研究室でやれば良いし
Web制作との関連性も皆無
0203Name_Not_Found
垢版 |
2019/07/12(金) 19:17:56.51ID:???
このスレの質問者は、回答があってもガン無視する奴ばかり
回答に意見を返して、前向きに取り組もうとする質問者はいないのか?
「自ら学ぶ質問者」を見たい
0204Name_Not_Found
垢版 |
2019/07/12(金) 19:59:37.69ID:???
>>203
それ以前にまともな回答でてねーじゃん
呆れてどっか行ったんじゃね
0205Name_Not_Found
垢版 |
2019/07/12(金) 20:01:48.38ID:???
>>204
君のようなコミュニケーションを拒否する人は、質問者に向いてないと思うよ
0206Name_Not_Found
垢版 |
2019/07/12(金) 20:54:59.69ID:???
皆が色んなアルゴリズムを比較しやすいように基盤を作ってみた
https://playcode.io/371956?tabs=script.js,preview,console

条件として、ある文字列のある位置の文字を取り出したときに、
同じ位置に同じ文字がある文字列がどれだけ近いかを全ての文字列の全ての文字で見ることで
似た文字列がどれだけ近くに固まっていないかの値を求めるようにした

つまりABCDのよこにBADCがあってもそれは限りなく無関係同士の文字列と評価されるので
そこが気になる人は評価計算部を変えて欲しい
それと各文字の出現頻度はだいたい均一と仮定している(Aが極端に多くてBが極端に少なかったりしない)ので、
そこも生成部に手を入れて変えて欲しい
また、距離に対して比例して評価していてすぐ隣と、1つ開いている状態はあまり違わないと評価するのでそこも手の入れどころ

とりあえず様々に実験して気がついたこととしては、
・各文字の出現頻度、組み合わせ方に偏りがない
・文字種類数が少ない
ときはそもそも、どのように並び替えても似た文字列が近くに来てしまう状況になる

例えば上の例であったような、ABCのように単純な文字列はまさにそうで、
何か組み合わせに特別な偏りが無い限り、一回ランダムにばらした状態でほぼ限界に近い
0207Name_Not_Found
垢版 |
2019/07/12(金) 21:04:18.73ID:???
「まともな回答ない」で諦めるか、「質問の要件を追記して更なる回答を募ろう」と踏ん張るか、が判断の分かれ目
実際、要件をまともに書いた質問はほとんどない
0208Name_Not_Found
垢版 |
2019/07/12(金) 22:18:52.66ID:???
要件をまとも書けるくらいの質問をする人ならば、
自力で解答を見つけることが出来る。
0209Name_Not_Found
垢版 |
2019/07/12(金) 22:34:38.85ID:???
質問しようと文章でまとめてみたり、ggrks呼ばわりされないように検索してみたりしているうちに
解決方法が見つかることが稀によくある
0210Name_Not_Found
垢版 |
2019/07/12(金) 22:53:54.32ID:???
>>209
>質問しようと文章でまとめてみたり、

質問しようと文章以外の、例えば数式でまとめてみたりすることはあるのか?
とつっこんでみたり
0211Name_Not_Found
垢版 |
2019/07/13(土) 01:27:49.82ID:???
「AしたりBしたり」と書いてあるのを「AとBしかしない」と解釈するひとって…
0212Name_Not_Found
垢版 |
2019/07/13(土) 07:03:05.20ID:???
結局、質問者が回答を煽って、魚を期待するスレなのか
0213Name_Not_Found
垢版 |
2019/07/13(土) 09:12:38.57ID:???
定性的発言で申し訳ないが…

…内容的には良くなったと思うよ…
マウンターと暴言のオンパレードだった訳だしね
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況