JavaScript の質問用スレッド vol.125at TECH
JavaScript の質問用スレッド vol.125 - 暇つぶし2ch571:デフォルトの名無しさん
23/01/06 22:25:41.09 Th1PE0Z2H.net
リテラル
””や’’で表現されるのは文字列と評価する
[]は配列と評価する
{}はオブジェクトと評価する
JSエンジンがオブジェクトをどう評価して処理するかということだと思ったんですけど
何やら全く的外れなこと言ってたみたいですみませんでした
何度も謝ったのでもう許してください、鬼神様

572:デフォルトの名無しさん
23/01/06 23:10:59.17 AlXqoCEJr.net
>>561
的外れなことを繰り返し書かなくていいから黙って>>504を読んでおいて

573:デフォルトの名無しさん
23/01/07 08:36:35.89 I26x6s3dH.net
時間があるときに読んでおきます

574:デフォルトの名無しさん
23/01/07 11:56:48.02 n88Tb37q0.net
>>563
いますぐ読みたまえ

575:デフォルトの名無しさん
23/01/07 12:11:11.83 Oa/pj9jla.net
読めたら読みます

576:デフォルトの名無しさん
23/01/07 12:11:57.01 n88Tb37q0.net
>>565
読めなくても読むのだ

577:デフォルトの名無しさん
23/01/07 15:51:52.95 zzWcN8NZd.net
>>561
わざわざもう1回書いたのは自分の中ではこれが正しいという思いが捨てられなくて
賛同してくれる人が現れないかと期待してってところか

578:デフォルトの名無しさん
23/01/07 18:24:30.76 2xit7B8+0.net
再帰関数についての質問
function test(){
処理1
test();
処理2
}
とした場合
処理2の前にtest()があるので、処理2はずっと実行されないということですか?

579:デフォルトの名無しさん
23/01/07 18:46:02.96 Oa/pj9jla.net
いいえそれは処理1次第です

580:デフォルトの名無しさん
23/01/07 19:05:43.05 2xit7B8+0.net
>>569
ありがとうございます
処理1はreturnや他関数への再帰はしないものとします

581:デフォルトの名無しさん
23/01/07 19:11:57.35 GmV1yQnL0.net
最大の再帰の深さは JavaScript エンジンによって制限されていて
その範囲内で終了条件を満たすように作る必要があります
でなければエラー終了するので、無限再帰は有り得ません

582:デフォルトの名無しさん
23/01/07 21:33:23.91 YilgzCe20.net
そもそも永久に再帰は無理なのを理解していないのか?
それと何故再帰を使うのかという理由が全く分からん

583:デフォルトの名無しさん
23/01/08 01:51:54.62 uPZeFpc/0.net
まあ普通は無限ループだな
わざわざ再帰にしなければいけない
理由が何かだな

584:デフォルトの名無しさん
23/01/08 01:53:28.42 FOdy7Dic0.net
末尾再帰最適化が保証されている言語では特定条件を満たせばさもループの代替として使えるが
javascriptではそうはならなかった
以上

585:デフォルトの名無しさん
23/01/08 01:53:30.69 gpkzwVQsM.net
末尾最適化されてれば無限ループ可能でしょ?
ES2015で末尾最適化の仕様化されたけど適合してない実装が多いというだけ

586:デフォルトの名無しさん
23/01/08 01:54:05.49 gpkzwVQsM.net
ありゃ被ったか

587:デフォルトの名無しさん
23/01/08 02:24:13.14 FOdy7Dic0.net
規格があっても準拠するかどうかは実装次第というね
ちなみにjavascriptは関数がファーストクラスでレキシカルスコープを持つためいわゆるクロージャを無意識に生成できる
クロージャがあれば末尾再帰できないからと不自由に感じることはないと思われる

588:デフォルトの名無しさん
23/01/08 17:51:20.88 TObCTh0j0.net
>>572
@supportsや@mediaのネストされたcssの全プロパティ値を取得するために
再帰使いたかった

589:デフォルトの名無しさん
23/01/09 07:24:55.41 Bl4X3MiM0.net
>>578
無限にネストすることはないはずだが

590:デフォルトの名無しさん
23/01/09 12:44:15.19 mLvtK4oer.net
>>578を実現するにしても>>568にはならんと思うけども

591:デフォルトの名無しさん
23/01/09 13:34:27.76 nBXeWSyT0.net
ホントになw
// aはarray
function test(a)
{
a.forEach( b => {
if (b.isArray()) {
test(b)
}
})
}
みたいな感じなら分かるがw

592:デフォルトの名無しさん
23/01/09 15:00:57.73 2yNmR2Eh0.net
ノードを全部舐めるみたいなトラバース系の処理はエンジンの制限とか気にするなら再帰のロジックを配列とループで作った方が安全だし
恐らく関数を呼び出すより速いから検討してみてね

593:デフォルトの名無しさん
23/01/14 18:28:43.16 WRdKOG7o0.net
質問
scriptタグで指定されてるリンク先をjavascriptで変えたい
例えば. script type="text/javascript" src="A”
になってんのを
script type="text/javascript" src="B”に変えたい
replace等でやろうとしたものの上手くいかなかった

594:デフォルトの名無しさん
23/01/14 20:27:52.90 Ww/QFSM20.net
ちょっとググったら出てくるやろw
URLリンク(www.softel.co.jp)

595:デフォルトの名無しさん
23/01/14 23:08:43.95 WRdKOG7o0.net
>>584
ありがとうございます…
本当に助かりました…

596:デフォルトの名無しさん (アウアウウー Sac7-wtyD [106.146.97.205])
23/01/15 01:42:33.54 k1TuDUU1a.net
確かに以下のように、jQuery で、script タグのsrc 属性を、
a.js から、b.js へ変えても、scriptタグが再読み込みされない

$("script[src='a.js']:first").each(function (index, elem) {
$(elem).attr('src', 'b.js');
});

新たなscriptタグを追加してから、元のscriptタグを削除すれば、読み込まれるかも

597:デフォルトの名無しさん
23/01/15 02:01:27.46 iV9MAA6y0.net
読み込まれたスクリプト自体はscript要素消しても消えない事に注意

598:デフォルトの名無しさん
23/01/15 13:53:25.79 0IRxms8qM.net
ルーターのブロードステーションに電源を入れると
エッジブラウザが起動して自動的にブロードステーションのルーターのページが表示されます。
ブロードステーション関連のソフトウェアは一切インストールしていないにもかかわらずです。
これって動きだけ見ますとルータが勝手にこっちのpcを操作してるように見えるのですがどういう仕組みなんでしょうか?
ブラウザ(JavaScript)はページ内しか操作出来ない筈なんですが。

599:デフォルトの名無しさん
23/01/15 15:02:28.33 yvxMece60.net
よろしくお願いします
【環境】Win11,Chrome
【何をしたのか】下記コードをHTMLファイルにしてchromeで読み込ませて、コンソールで見た
JSONのItemsを一個追加して、追加したageだけ書き換えたいが、両方書き換わる
【エラーメッセージ】エラーメッセージはない
【期待する結果】Itemsの2個めのageだけが40になるはず
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
<script>
json =
{
"color_list": [ "red", "green", "blue" ],
"Items": [
{ "name": "Tanaka", "age": 26 },
]
}
data0=json["Items"][0]
json["Items"].push(data0)
console.log("before");
console.log(json["Items"][0]["age"]);
console.log(json["Items"][1]["age"]);
json["Items"][1]["age"]=40
console.log("after");
console.log(json["Items"][0]["age"]);
console.log(json["Items"][1]["age"]);
</script>

結果
before
26
26
after
40
40

600:デフォルトの名無しさん
23/01/15 15:12:37.19 XTiaoq8f0.net
>>589
そのコードで、参照がコピーされているので
data0={...json["Items"][0]}
とすればいい

601:デフォルトの名無しさん
23/01/15 15:18:59.77 iV9MAA6y0.net
>>589
URLリンク(developer.mozilla.org)

602:デフォルトの名無しさん
23/01/15 15:22:38.08 yvxMece60.net
>>590,591
できましたありがとうございます。

603:デフォルトの名無しさん
23/01/15 15:31:02.14 XTiaoq8f0.net
この場合はこれで十分ですが
スプレッド構文はシャローコピーなので、
データがより複雑な構造の場合は、それなりの記述が必要です

604:デフォルトの名無しさん
23/01/15 15:40:55.97 iV9MAA6y0.net
>>588
キャプティブポータルの検出機能が誤爆してるんじゃないかな

605:デフォルトの名無しさん
23/01/15 20:06:20.61 7dUg93Xk0.net
mainfn()
function mainfn(){
pg1 = win1.pnl.add('group')
pg1.orientation = "row"
pg1.add("statictext", [0,0,70,23], "拡大・縮小")
rd11 = pg1.add("edittext", [0,0,40,23], 100)
pg1.add("statictext", [0,0,30,23], "%")
pg9 = win1.pnl.add('group')
pg9.orientation = "row"
CAN = pg9.add("button",[0,0,100,30],"cancel")
OK = pg9.add("button",[0,0,100,30],"OK")
CAN.onClick = function(){win1.close()}
OK.onClick = function(){
win1.close()
dofn()
}
win1.show()
}
function dofn(){
bai = parseFloat(rd11.text)
…… 以下略
これが正常に動作するのですが、rd11はローカル変数だとおもうのですが、なぜ違う関数内(dofn())から読めるのでしょうか?
こういう書き方が出来るのなら楽なのですが…

606:デフォルトの名無しさん
23/01/15 20:27:36.55 Vv6s9YYpr.net
関数内でvarを付けずに宣言された変数はグローバルスコープになる
var rd11 = pg1.add("edittext", [0,0,40,23], 100)
とすると関数スコープになって外部からアクセスできなくなるはず
関数内での変数宣言はvar文で行うべきで
これを「楽」と思ってしまうのは危険

607:デフォルトの名無しさん
23/01/15 20:53:03.10 7dUg93Xk0.net
>>596
ありがとうございます
非常に勉強になりました

608:デフォルトの名無しさん
23/01/15 21:30:36.07 YqyTW3mJr.net
>>597
'use strict'が効くならスクリプトの先頭行に書いとくといいよ

609:502
23/01/15 23:28:40.23 bMctduL80.net
>>595
それAdobe Illustratorかなにかで使うソースでしょ?
どういう環境で使うソースなのかは一言書いといた方がいいよ

610:デフォルトの名無しさん
23/01/15 23:45:44.09 r5uLxMWea.net
ES2015(ES6)以降は最低限、
変数宣言にはvar ではなく、let/const を付けよう

611:デフォルトの名無しさん
23/01/15 23:55:04.30 cRCjJN100.net
>>599
この指摘は何度も見てるが、いつになっても改善されない
質問者にとっては直す気がない、どうでもいい問題なんだろうな…

612:デフォルトの名無しさん
23/01/15 23:55:05.86 5X3ij1Yxr.net
>>600
このadobeのスクリプトはES3相当らしいのでvarを案内してるのよ
まあそもそもスレ違いだからID:7dUg93Xk0は今後adobeのフォーラムで質問するようにね
その方が我々も余計な労力を払わなくていいし君も的確な回答がもらえる
URLリンク(community.adobe.com)

613:デフォルトの名無しさん
23/01/15 23:55:37.31 cRCjJN100.net
>>599
この指摘は何度も見てるが、いつになっても改善されない
質問者にとっては直す気がない、どうでもいい問題なんだろうな…

614:デフォルトの名無しさん
23/01/15 23:57:40.43 cRCjJN100.net
申し訳ない
投稿エラーで再投稿したら、二重投稿になってた

615:デフォルトの名無しさん
23/01/16 01:46:54.32 DS9XkUYq0.net
>>599
すみません
次から書きます
あまりillustratorに特化したことは質問しません

616:デフォルトの名無しさん
23/01/16 01:51:10.12 DS9XkUYq0.net
>>598
そういうのがあるんですね
知らなかったです

617:デフォルトの名無しさん
23/01/16 02:24:41.48 SauNqkHgr.net
>>606
知った以上次からそちらにに行って質問してください
環境の説明も必要ないしillustratorに特化した質問もし放題だし良いことづくめですよ

618:デフォルトの名無しさん
23/01/16 08:45:42.10 Hbn6MJh3M.net
イラレ特化だからではなくてJavaScriptのバージョンの問題なんだけど
なんも書いてなければ最新のモダンブラウザのつもりでみんな考える
今JavaScriptのバージョンってES12くらいかね、あんまりそういう言い方しないけど
イラレ搭載のはES3なの?それも知らんけど
クッソ古いから使える文法も関数もまるで違うから環境を書けと言っているのよ
そこらへん多分知らなかったんだろうけど、それは仕方ないけど、次からは環境きちんと書いて
というかできれば以降はAdobeのフォーラムでやって

619:デフォルトの名無しさん
23/01/17 01:44:26.39 BTJjkb3Ra.net
>>589
C/C++ 以外の言語は、参照しかコピーしない・shallow copy。
実体は再作成されない
なので、deep copy するのに、参照のリンクが切れないので困る
だから、marshal とか、わざわざオブジェクトをJSON 文字列化して、
その文字列から、新しいオブジェクトを作ったりする

620:デフォルトの名無しさん
23/01/17 16:25:41.45 XA7n1WWP0.net
>>609
え?

621:デフォルトの名無しさん
23/01/17 19:01:55.76 LBqNgpc6H.net
ポインタのこと?

622:デフォルトの名無しさん
23/01/18 00:05:10.90 csewAuIZ0.net
検索アドレスに言語指定が必要になって下のスクリプトを書きました。
function Jump(){
var kekka =
"ht"+"URLリンク(www.concertzender.nl) +
document.concertzender.kensaku.value +
"&lang=nl";
location.href = kekka;
return;
}
kensaku は検索フォームの文字列です。これで正常動作するのですが、
エラーチェックすると&が警告されて気になります。
&にしたらアドレスが&になって検索できないし、
なんとかならないものでしょうか・・・

623:デフォルトの名無しさん
23/01/18 00:09:24.42 csewAuIZ0.net

&amp; です
&#038; でも同じです

624:デフォルトの名無しさん
23/01/18 06:35:54.86 guU+fOES0.net
この気持ち悪いの何?
> "ht"+"tp

625:デフォルトの名無しさん
23/01/18 07:40:19.90 Eqd2U92jH.net
documentのpropertyにconcertzenderって標準でないっしょ?
スクリプトのどっかでなんか設定してるん?

626:デフォルトの名無しさん
23/01/18 07:41:25.64 Eqd2U92jH.net
それとエラーの内容も書き込まずにして質問っていうのもどうなの?

627:デフォルトの名無しさん
23/01/18 08:57:37.16 cgb3Ru010.net
>>614
5ch対策でしょ

628:デフォルトの名無しさん
23/01/18 10:05:55.23 csewAuIZ0.net
>>616
すいません。単純に特殊文字ダメよという内容だったんで・・・
"&lang=nl";
"&lang=nl"; もし、"&" で始まるエンティティを含めるつもりなら、";" で終了させるべきです。
このエラーメッセージのもう一つの理由は、このテキストの直前にある「&」文字をエスケープしなかったために、
誤ってエンティティを作成してしまったことです。(機械翻訳)
自分としては&amp;と書いて、リンクアドレスとして&を出力したいわけです・・・

629:デフォルトの名無しさん
23/01/18 10:16:20.21 guU+fOES0.net
>>617
あーそういうことか。コピペコードで悪さでもしようとしているのかと思ったけど違うみたいね
>>612
大体どの言語でもクエリ文字列を作る仕組みが用意されているのでそれを利用するのが適切です
JavaScriptならコレかな
URLSearchParams
URLリンク(developer.mozilla.org)

630:デフォルトの名無しさん
23/01/18 11:11:32.49 CwkcAAQnr.net
>>618
載せるならエラーメッセージ原文を
で、そのメッセージでググってみた?
あとエラーチェックするとって具体的にどういう操作をしたの?

631:デフォルトの名無しさん
23/01/18 12:42:13.54 iQx/CEUf0.net
>>612
htmlのscript要素の中身はCDATAなので文字参照にする必要なし
もちろんinnerHTML等htmlとしてパースされるものに突っ込む場合は必要だが
htmllintなんかでエラーになるのは無視していい

632:デフォルトの名無しさん
23/01/18 13:08:45.81 csewAuIZ0.net
>>620
エラーメッセージはその部分は&amp;だろと言っているのですが、じゃあ&amp;と書くと
URLリンク(www.concertzender.nl)&amp;lang=nl と出力されてエラーになり、困ったわけです・・・
>>621
無視していいんですね。ありがとうございます。
htmlでは&amp;と書くと&になるのに、スクリプトの部分ではそうならないのですね。

633:デフォルトの名無しさん
23/01/18 13:26:39.01 Okbz9NQsr.net
>>622
何も質問に答えてないよね
答える気があるならもう一度>>620を読んでほしい

634:デフォルトの名無しさん
23/01/19 22:07:44.38 40XBuhhWH.net
君は君の質問に反応しない人には
推し量って導こうという崇高な意識はないの?JS使いなのに?

635:デフォルトの名無しさん
23/01/20 00:14:23.52 VzeMnjK00.net
>>624
誰からも回答してもらえない質問者は、他の人を導く存在に昇格ということか
質問に回答しないのが本人の為なのかもしれんな

636:デフォルトの名無しさん
23/01/20 01:57:18.23 ptsQI5JN0.net
それよりJavaScriptをJSと略すと女子小学生しか思い浮かばないからそろそろやめたほうがいい

637:デフォルトの名無しさん
23/01/20 07:46:55.99 PpNyk8UWr.net
>>624
>君は君の質問に反応しない人には
反応しない人?
質問に反応されたけど回答になってなかったからそこを指摘したんだけど

638:デフォルトの名無しさん
23/01/20 17:53:26.94 zXaveivW0.net
>>626
J

639:デフォルトの名無しさん
23/01/26 00:31:01.01 c9Kzf+f60.net
【環境】Win11,Chromeで表示させたHTMLの中のjavascript
Windowsのフルパスのファイル名が入った変数を\でsplitしたいんだけど可能?
x_textにはJSONデータから取ってきた'D:\\00.png'が入っていて
console.log(x_text)だとD:\00.pngと表示
これをsplitすると
aaa1.html:154 Uncaught TypeError: Assignment to constant variable.
になる。
split('\\')をsplit('\\\\')にしても同じ
console.log(x_text)
arr_text = x_text.split('\\') ←ここでエラー
console.log(arr_text[0])

640:デフォルトの名無しさん
23/01/26 00:37:27.57 q740ttN00.net
>>629
arr_textがconst宣言されてるだけでは?

641:デフォルトの名無しさん
23/01/26 01:06:05.60 c9Kzf+f60.net
>>630
できました。
サンクスです。

642:デフォルトの名無しさん
23/01/29 10:31:07.49 rZA8vUyra.net
初学者質問ですいませんが、変数aが文字列あいう、かつ、変数bがundefinedでない時 というif文を書きたい時
if (a=='あいう' && (!(b === void 0))) {...
という書き方であってますか?
よりシンプルな書き方とか、より標準的な書き方ってありますでしょうか。

643:502
23/01/29 12:00:10.71 9rN3KLzS0.net
厳密不等価演算子 !==
URLリンク(developer.mozilla.org)
undefined が予約語になってないから void 0、ってのは……はて、今もやるものかね

644:デフォルトの名無しさん
23/01/29 12:54:20.77 eUvMCdrW0.net
if(a == 'あいう' && !b)でもよさそうな気がしなくもない

645:デフォルトの名無しさん
23/01/29 15:43:05.57 d0tJgmu5r.net
>>633
undefined は予約語ではないのでローカル変数による上書きが可能…という意味では、void 0 を使う価値はある

646:デフォルトの名無しさん
23/01/29 15:59:30.70 rpOrCqGha.net
>633
ありがとうございます。リンク先確認しました。
if(a=='あいう' && b!== undefined またはvoid 0)
という感じでしょうか。
ここでb!= undefined とするとまずいのはbがnullの時だけ、という認識でいいでしょうか。
>634
ありがとうございます。bが0や空文字の時にも偽になりそうです。

647:デフォルトの名無しさん
23/01/29 16:03:43.52 R24XfIrD0.net
第一にjavascriptみたいな後付け追加仕様が混在する言語は規格よりも実装の影響力が強いから
想定環境で検証済の方法を採用すべきだと思う
コードとしては変数をtypeofで"undefined"と比較するのが恐らく理解しやすいが、
メンテナがjavascriptに十分慣れていてvoid 0のイディオムの理解を期待できるならそっちでもいい

648:デフォルトの名無しさん
23/01/29 16:28:19.00 MX/guDl/d.net
>>636
結局のところ
・undefinedが上書きされる可能性を考慮する必要があるのか
・bがundefined以外のfalsyな値を取りうるのか
・取る場合それぞれの値をundefinedとは区別したいのか同じとみなしたいのか
この辺次第で望ましい書き方は変わってくるわけで

649:デフォルトの名無しさん
23/01/29 16:30:22.92 d0tJgmu5r.net
>>636
型チェックも働かせるなら
if (a. === 'あいう' && b !== void 0)
と書けば良い
'あいう' も==では型チェックしない
> ここでb!= undefined とするとまずいのはbがnullの時だけ
まずいのは、undefined! == void 0 の場合

650:デフォルトの名無しさん (アウアウウー Sacd-3+Au [106.128.44.107])
23/02/12 19:44:05.09 zQHZ3m1Fa.net
//☆☆県(API番号☆00000)の予報を取得
let url = "URLリンク(www.jma.go.jp)☆00000.json";

fetch(url)
.then(function(response) {
return response.json();
})
.then(function(weather) {
console.log(weather);
//☆☆県を選択し、変数に詰め直す
let area = weather[0].timeSeries[0].areas[0];
console.log(area);
//発表者と更新日時の情報を書き出す
document.getElementById("publishingOffice").lastElementChild.textContent = weather[0].publishingOffice;
document.getElementById("reportDatetime").lastElementChild.textContent = weather[0].reportDatetime;
//特定の地域の情報を画面に書き出す
document.getElementById("targetArea").lastElementChild.textContent = area.area.name;
document.getElementById("today").lastElementChild.textContent = area.weathers[0];
document.getElementById("tomorrow").lastElementChild.textContent = area.weathers[1];
document.getElementById("dayAfterTomorrow").lastElementChild.textContent = area.weathers[2];
});

上手く動かないのですがどこが間違えてますか?教えてください。

☆はわざとです

651:デフォルトの名無しさん
23/02/13 16:33:17.79 6gR8iJfAr.net
バグってるので調査してください
それは質問ではなく作業依頼

652:502
23/02/13 22:37:53.05 E1kxmkHl0.net
>>640
やりたいことも伝えずに上手く動かないと言われてもなー

653:デフォルトの名無しさん
23/02/14 07:31:57.89 NKP9M84/H.net
なぜ自身でデバッグせんのよ

654:デフォルトの名無しさん
23/02/14 21:18:40.92 snyjWmK+0.net
そのメソッドチェーンやめれば分かるよ
エラーが起きない前提があってのメソッドチェーンだからよ

655:デフォルトの名無しさん
23/02/17 12:17:26.22 DJukcnvm0.net
$.each()とsetIntervalをつかって、
インターバル時間ごとに順番に配列の中身を、コンソール出力する方法ありますでしょうか?
$.each()は、一度に処理するから、一つづつコンソール出力するのは難しいですかね。

656:デフォルトの名無しさん
23/02/17 20:26:53.96 iF4/ZjHx0.net
>>645
$,each()を使う理由がわからない
setIntervalだけ使えば良い

657:デフォルトの名無しさん
23/02/17 22:54:40.37 iF4/ZjHx0.net
>>645
clearintervalで1回だけタイマーを動かしてPromise化してawaitして$.each()を使えば、理屈ではできると思う
手段のモ目的化、かつ無駄に複雑だと思うが

658:デフォルトの名無しさん
23/02/18 19:51:29.82 gBmvvkX6a.net
nodeでPythonのif name==main
みたい


659:なことできませんか? メソッドの動きをデバッカーでみたいんです



660:デフォルトの名無しさん
23/02/24 01:21:32.26 jGK2BMhd0.net
//【環境】Win11,JScript
//【何をしたのか】case文のところ


661:に条件式を書き、breakせずにすべての条件式で評価したい //【サンプルコード】現象を再現可能な最小限のコードを書いてください。 a=1 switch (true) { case (a==1): a=a+16 WScript.echo("aの値を変更a=",a) case (a>10): WScript.echo("a>10","a=",a) a=a-10 WScript.echo("aの値を変更a=",a) case (a>30): WScript.echo("a>30です","a=",a) a=0 WScript.echo("aの値を変更a=",a) } WScript.echo("最終的な結果a=",a) //【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。(Windows なら「コピット」を活用) aの値を変更a= 17 a>10 a= 17 aの値を変更a= 7 a>30です a= 7 aの値を変更a= 0 最終的な結果a= 0 //【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。 2番目のcaseでa=7だから3番目のcaseにはいかず、最終的にはa=7になるのでは?



662:デフォルトの名無しさん
23/02/24 02:46:21.28 thXJapXb0.net
>>649
上から順に case が評価され、どこかで真になればそれ以降の case は評価されない。
break してないからそれ以降の処理がフォールスルーで実行されてるだけ。
全部の条件を評価したいなら普通に if で書けばいいと思うよ。

663:デフォルトの名無しさん
23/02/24 05:29:40.16 xQyCpHMf0.net
そもそもswitch文って条件にtrue入れて使うようなもんじゃないぞ

664:デフォルトの名無しさん
23/02/24 08:59:59.37 thXJapXb0.net
>>651
case に式を書けるようにしたことによって使えるようになった副作用みたいなものだよね。
switch の式と一致する case を探すのが switch文の動作だとするなら、switch の式 true と一致する値となる、すなわち true になる式を持つ case が選択される。
個人的には if で書けばいいものをわざわざ分かりづらい書き方にしてるバッドプラクティスだと思ってるが、フォールスルーと組み合わせると if よりもスマートに書ける可能性はあるかもね。
特に >>649 のように全部の case を評価してほしいなら、switch で書く利点が何一つ無い。
if より利点がある場合は、フォールスルーする場合に最初に true になる case までしか式が評価されないことくらいなのに。

665:デフォルトの名無しさん
23/02/25 02:30:10.34 E1i3tKVi0.net
>>652
良いサンプルが思いつかんけど、
ifで書こうとすると、重複する処理を書かなければいけなくなったり、フラグの変数を導入したりすることになるんだけど、
breakなしのswitch case文ならうまいこと書けるんじゃないかと思ってやってみたけど、動かなかった。

666:デフォルトの名無しさん
23/02/25 21:04:04.70 5GrSMYMK0.net
jQuery以外のライブラリ・フレームワークは廃止して欲しい。
覚えるのが大変。

667:デフォルトの名無しさん
23/02/25 22:01:05.33 YxrjvuYta.net
react だけでよくね
jqueryとかいい加減消滅しろよ

668:デフォルトの名無しさん
23/02/25 23:22:22.93 5GrSMYMK0.net
>>655
この2つは併用出来ないから辛い。
で、reactならではの利点は?

669:デフォルトの名無しさん
23/02/25 23:31:29.20 fw0b+BcSM.net
質問スレで焚き付けんな

670:デフォルトの名無しさん
23/02/25 23:38:37.47 TypeZdxc0.net
素の JS でいじゃん。
というのは言い過ぎかもしれんけど、何に使ってるんだか分からんようなことでいちいちおまじないのように jquery 読み込んでる呆れるようなところも少なくないんだよな。
通信回線速度も処理能力も上がってるから動いちゃいるが、とりあえず素の JS で書けるようになれと言いたい。
ブラウザ毎の非互換も少なくなってるし querySelector みたいな便利なメソッドもあるし、そんなに苦労しないでしょ。

671:デフォルトの名無しさん
23/02/25 23:49:36.71 YJ+BhbRla.net
それなjqueryおじさんはJSだけで書けるようにしておけ
それでも足りないならReact使えな

672:デフォルトの名無しさん
23/03/01 19:53:41.69 hdBOeOla0.net
githubで他人のコード見てるとclassもprototypeも使われてないやつが多いんだけど何でなん?ベストプラクティスがruby以上にわからん何が正解なん?

673:デフォルトの名無しさん
23/03/01 23:29:12.38 8kmkGnGP0.net
暗黙的なクロージャがあるからclassやprototypeを使わずとも割と困らないのが何でなん?の回答になる

674:デフォルトの名無しさん
23/03/02 02:00:11.27 65NO3QYK0.net
htmlコーダー志望の初心者です。
JSの入門書を読み終えたのでより実践的な学習に移行したいのですが、
既存の書籍やサイトは総論のような基本的な知識に焦点を当てたものが多い印象で、
実務において初心者コーダーにどのようなプログラムの作成が
求められてくるのかが判然としません。
そのような内容に焦点を当てた書籍やサイト等はありますか。

675:デフォルトの名無しさん
23/03/02 19:51:27.97 eGjuMjwU0.net
そもそもhtmlコーダーって何?ってぐぐってみたらデザイナやエンジニアが片手間でできる内容だし専門職としては成立せんのでは

676:660
23/03/02 23:05:32.75 65NO3QYK0.net
>>663
htmlコーダーという職種自体がオワコンですかね…
ご意見参考にさせていただきます。

677:デフォルトの名無しさん
23/03/03 08:25:40.95 DJxhSXLyr.net
99%のエンジニアは片手間でできないからな
エンジニアはhtmlとcssをバカにするけどほとんどのエンジニアはまともに使えていないんだよ
特にcss
使い方を知らない
勉強しようとしても理解できない
なのにバカにする
エンジニアは視覚からコードに落とし込む能力が絶望的に劣っている

デザイナーから上がっきたモックをhtmlとcssで再現できない

だけどその事実がバレたくないからコーダーといってバカにする

実際にはjsxとstyle componentなどで必須スキル

必須だけどできないからhtmlとcssはデザイナーの仕事だと言い放つ

じゃあjsxはデザイナーに書かせるのか?と聞くと無言
毎回このパターン

678:デフォルトの名無しさん
23/03/03 08:32:56.76 an7QtCXRd.net
まあでもそういう業界だからね
連携ダメだからと言って隙間に入り込める余地があるかどうか

679:デフォルトの名無しさん
23/03/03 09:44:56.39 o6EY7x580.net
>>665
組み込み系や汎用系のエンジニアにでも頼んでるのか?
ちゃんとWeb系やってるとこに頼みなよ

680:デフォルトの名無しさん
23/03/03 10:01:30.76 DJxhSXLyr.net
>>667
むしろ組み込みは汎用系のほうは知らん
Web系エンジニアはこんなんだぞ
ほんの少しだけ有能なフロントエンジニアがいる現状
なぜならフロント開発スキルとデザインスキルの両方を持ち合わせた人材がほぼいないから

681:デフォルトの名無しさん
23/03/03 10:24:24.87 o6EY7x580.net
webプログラマーに高度なデザインまで要求するのは無理でしょ
そのためにプロのデザイナーがいるんだし
でもほとんどのエンジニアがhtmlとcssをまともに使えないなんてありえない
今いる環境が悪すぎるんじゃないの?

682:デフォルトの名無しさん
23/03/03 11:25:14.28 yQajwbSzM.net
ぶっちゃけデザインするやつが CSS まで書くのが一番いいんじゃね?
位置やら大きさやらの細かい詰めまでこだわれるでしょうに。

683:デフォルトの名無しさん
23/03/03 11:27:48.97 GvE2UXq10.net
アニメーションとかJsonでデータいじくる時だけ呼んでください
ってことにしてる社内ニート

684:デフォルトの名無しさん
23/03/03 11:54:37.73 DJxhSXLyr.net
こういうこと
デザイナーの担当
・モック作成
・Atomicデザイン込みのコンポーネント設計
・コンポーネント作成
・App作成(コンポーネントの組み上げ)
・jsx、css
・state更新とrender関連
・レスポンシブ対応
・トランジションやアニメーションなど
・DOM生成後の表示・操作・調整(表示順やインタラクション)
・エラー表示、警告
・htmlバリデーションのcheckValidityやreportValidity処理
フロントエンジニアの担当
・APIでデータ送受信
・propsで流し込み

685:デフォルトの名無しさん
23/03/03 12:03:53.67 aLTOWI5kM.net
>>672
それ専業のデザイナー置いても暇を持て余すような職場だろ
普通デザイナーにjsxなんて書かせないよ

686:デフォルトの名無しさん
23/03/03 12:14:59.23 o6EY7x580.net
ほとんどのエンジニアがhtmlもcssもまともに使えない職場みたいだからなw

687:デフォルトの名無しさん
23/03/03 12:33:55.85 DJxhSXLyr.net
職場じゃなくてそもそもエンジニアたちがhtmlとcssが絶望的にゴミレベルしかいないんだよ
海外でも同じ傾向がある
なのに自分たちはできると勘違いしてるから話が通じないんだよな

688:デフォルトの名無しさん
23/03/03 13:31:04.49 o6EY7x580.net
jquery使えます!って嘘ついたデザイナーの尻拭いをさせられたことはあったな

689:デフォルトの名無しさん
23/03/03 13:32:46.28 yQajwbSzM.net
>>675
そういうお前は逆にサーバサイドは絶望的な腕前なんじゃないの?

690:デフォルトの名無しさん
23/03/03 15:00:35.71 DJxhSXLyr.net
>>677
わざわざ煽りご苦労
サーバーサイドが絶望的どころかサーバーサイドもやってるが?
むしろフロントよりも先にサーバーサイドからやってたわ

691:デフォルトの名無しさん
23/03/03 15:24:30.84 yQajwbSzM.net
>>678
という人がどれだけいるのって話でしょ。
おれもサーバサイドの人というか、むしろwebじゃないサーバの人だけど。

692:デフォルトの名無しさん
23/03/03 18:33:43.53 omRbdhVsr.net
やたらイキって言葉遣いが悪いのと同じ回線だと肩身が狭い・・・

693:デフォルトの名無しさん
23/03/03 21:01:23.22 bsut6PhH0.net
>>672
デザイナーはせいぜいコンポーネント作ってStoryBookに載せるまでが責務だろw

694:デフォルトの名無しさん
23/03/03 22:20:39.69 Q9LzyMl00.net
プログラマにバカにされてreact勉強中のデザイナー様が激おこです

695:デフォルトの名無しさん
23/03/03 22:30:19.52 yxGxd3AO0.net
webデザイナーってjqueryぐらいまでは覚えさせられたかもだけど
流石にreactやvueまでやれってのは酷ではw
そんなのフロントエンドエンジニアの仕事でしょw

696:デフォルトの名無しさん
23/03/03 23:30:24.99 Q9LzyMl00.net
だってフロントエンドエンジニアはhtmlもcssもわからないバカばっかりなんだもん

697:デフォルトの名無しさん
23/03/04 18:46:55.35 erCI1bTUH.net
javascriptコードでバグの伝搬を制限して拡張性を高める必要性のある堅牢なプログラムなんて不要だからでしょ

698:デフォルトの名無しさん
23/03/04 18:52:38.30 erCI1bTUH.net
みんななんで仲良くなれないかな

699:デフォルトの名無しさん
23/03/05 16:50:40.53 RB9OOifa0.net
仕事だし自分の領域に少なからず関わってくるんだから覚えろよ
わからないじゃねーんだよボケ^^
これでよし

700:デフォルトの名無しさん
23/03/11 23:19:16.39 qvilA0zq0.net
sortメソッドは必ず、比較関数と一緒に使用する必要ありますか?
sortメソッドは数値を並びかえだと比較関数と一緒でないとうまくいかなくて、
でも、文字列のソートなら、ソート関数なくてもうまくいくみたい。
sortは文字列でも数値でもソート関数使った方がいいのでしょうか?

701:502
23/03/12 04:39:15.28 PQcYNrkb0.net
>>688
疑問に思うことがあれば、まずMDNで関数の仕様を確認してみるといい
sort 関数なら、解説に関数を指定しなかった場合についてもちゃんと書いてある
URLリンク(developer.mozilla.org)
> compareFn が与えられなかった場合、undefined 以外のすべての配列要素は文字列に変換され、文字列が UTF-16 コード単位順でソートされます。例えば、"banana" は "cherry" の前に来ます。数値のソートでは、9 が 80 の前に来ますが、数値は文字列に変換されるため、Unicode 順で "80" が "9" の前に来ます。undefined の要素はすべて、配列の末尾に並べられます。

702:デフォルトの名無しさん
23/03/12 09:33:44.40 do9jOqKh0.net
>>689
ありがとうございます。

703:デフォルトの名無しさん
23/03/12 10:07:09.74 mPShShEs0.net
ティラノスクリプトでゲーム作ろうとしたら、結局JSまで触らないと無理そうで及び腰・・・
・例えば変数aに"gazou1"という文字列を入れる
・『【"変数a"+.jpg】を表示』みたいな記述?? ←ここが分からない
・結果、gazou1.jpgが表示される
こんな感じの、変数に入れた文字列を使用して画像表示ってできますか?
JS 変数 画像表示 とかで調べても情報が多すぎてさっぱり分からない

704:デフォルトの名無しさん
23/03/12 11:40:49.62 SvUIzONJr.net
>>691
専用の掲示板へどうぞ
URLリンク(tyrano.jp)

705:デフォルトの名無しさん
23/03/12 12:27:02.18 mPShShEs0.net
>>692
誘導ありがとうございます
ティラノだけでは無理そう&ティラノ上ではJSの記述が使える、という事でこちらで質問しました
なのでJSで可能か不可能かだけでも教えて頂けると助かります
JSで不可能なら調べたところで出て来ないでしょうから延々調べ続けるはめに・・・

706:デフォルトの名無しさん
23/03/12 12:49:02.36 PwnTbWEur.net
>>693
まずはティラノスクリプトに詳しい人に聞いてみるのが筋ではないですか?
同じ問題に遭遇した人もきっといるはずでノウハウも蓄積されてると思いますよ
wikiなんかもあるようですし、そちらも確認してみましたか?

707:デフォルトの名無しさん
23/03/13 10:07:27.43 /ROF2oq40.net
>>691
こういうこと?
===============================
<body>
<a href='#' onclick='fun'>link</a>
</body>
<script>
function fun(){a.href='URLリンク(....)<)'}):
</script>
================================

708:デフォルトの名無しさん
23/03/13 17:49:23.15 dqLl9/D/M.net
>>683
むしろjQueryの方が難しいと思うけど...

709:デフォルトの名無しさん
23/03/13 19:09:00.85 LN5ju60U0.net
>>695
表示する画像を変数を使って切り替えたいので、
if 変数a=='花' なら 花.jpg を表示 else 変数a=='山' なら 山.jpg を表示
みたいな感じで一応は表示できるのですが、表示したい箇所が複数あるので
if 変数b=='花' とか if変数c==’’花' とかで凄く長くなりそうなのです
でももし 変数の中身+.jpg みたいな記述がjsに存在するなら
aの場所には 変数aの中身+.jpgを表示 bの場所には変数bの中身+.jpg みたいに凄く簡略化できるかなって
教えて頂いたコードを調べてみます!ありがとうございます!

710:デフォルトの名無しさん
23/03/13 19:18:34.65 z8Hv0b/wr.net
>>697
他板にティラノスクリプトスレがあったんで
専用掲示板より5chがいいのであれば続きはそちらでどうぞ
スレリンク(gamedev板)

711:デフォルトの名無しさん
23/03/13 19:42:26.91 LN5ju60U0.net
>>698
そこは質問スレじゃないのでどうにも質問しづらくて
とうかJSの質問スレでJSの質問してるのに「ティラノ上で動かしてる」ってだけで、
そこまで「よそいけ、よそいけ」って言わなくても・・・

712:デフォルトの名無しさん
23/03/13 20:03:21.60 z8Hv0b/wr.net
>>699
>そこは質問スレじゃないのでどうにも質問しづらくて
そのスレを「質問」で検索してみると皆質問してるのが分かります
気後れする必要はないと思いますよ
>とうかJSの質問スレでJSの質問してるのに>「ティラノ上で動かしてる」ってだけで、
>そこまで「よそいけ、よそいけ」って言わなくても・・・
あなたが必要としてるのは「ティラノスクリプトで変数を使って画像表示したい場合にどうすればいいか」の解決策だからです
それについてはこのスレよりティラノスレや専用掲示板の方が的確なアドバイスが得られるはずです
違いますか?

713:デフォルトの名無しさん
23/03/13 20:12:22.98 z8Hv0b/wr.net
ついでに「ティラノ上で動かしてる」JSについてもそちらで聞いた方が良いでしょう
ティラノスレを見渡すとJSのコードもたくさん貼ってありますよ

714:デフォルトの名無しさん
23/03/13 20:21:27.02 LN5ju60U0.net
>>700
>あなたが必要としてるのは「ティラノスクリプトで変数を使って画像表示したい場合にどうすればいいか」の解決策だからです
違います。自分の質問を要約すると「JSには、変数の中身の文字列に.jpgなどの拡張子を付け足して画像を表示する機能はありますか?」です
最初にティラノの名を出したことで誤解を招いたかも知れませんが、
>>691に >JS 変数 画像表示 とかで調べても
>>693に >なのでJSで可能か不可能かだけでも教えて頂けると助かります
と書いてあるように、ティラノではなく、あくまでJSについて尋ねています

715:デフォルトの名無しさん
23/03/13 20:45:42.74 z8Hv0b/wr.net
>>702
>自分の質問を要約すると「JSには、変数の中身の文字列に.jpgなどの拡張子を付け足して画像を表示する機能はありますか?」です
では聞きますが、それが何のために必要なのですか?

716:デフォルトの名無しさん
23/03/13 20:57:54.94 ayGBKgIT0.net
拡張子を付加する機能は無いよ
WBC始まってキャッチボールしたい気持ちはわからんでもないけども

717:デフォルトの名無しさん
23/03/13 20:58:10.41 bqu+B+fY0.net
>>702
> 「JSには、変数の中身の文字列に.jpgなどの拡張子を付け足して画像を表示する機能はありますか?」
はい。可能です
imgタグにデータURLを引き渡し表示することはごく普通に見ることができます
Base64エンコードされた文字列とmediatypeをセットするだけです

718:デフォルトの名無しさん
23/03/13 20:59:33.75 1Iq9NysVM.net
>>702
あなたの質問はjavascriptの質問ではありますがティラノスクリプトの仕様を知らないと答えられないものです
こちらはティラノスクリプトの仕様を知らないのであなたの代わりに調べることから始めなければなりません
ティラノスレであれば詳しい人がいると思うのでそちらへどうぞ

719:デフォルトの名無しさん
23/03/13 21:59:41.61 LN5ju60U0.net
>>703
上述の通りゲーム作成と作業の簡略化のためです
>>704
拡張子の付け足しは誤解を招く表現でした。変数の中にある文字列と同じ名前の画像を表示するってことです
>>705
ありがとうございます。調べてみます
>>706
あくまでJSの事として聞いているので「JSではこれこれこうやる。それがティラノ上で動くかは知らんけど」って感じの答えで十分です
ティラノスレでJSのこと聞くよりJSスレでJSのこと聞く方が早そう、って考えはそこまで変ですか?

720:デフォルトの名無しさん
23/03/13 22:18:31.29 z8Hv0b/wr.net
>>707
>上述の通りゲーム作成と作業の簡略化のためです
それは「ティラノスクリプトで変数に応じた画像表示する」こととは違うのですか?
>「JSではこれこれこうやる。それがティラノ上で動くかは知らんけど」
このスレでそんな回答をもらうよりはティラノスレで質問して
「ティラノスクリプトではみんなこうやってるよ」って回答をもらう方が何倍も早くて確実だと思いますがいかがでしょう

721:デフォルトの名無しさん
23/03/14 01:06:18.93 VmfXTFqwa.net
例えば、jQuery で、
<img id="photo_1" src="a.png">
を、以下に変更するなら
<img id="photo_1" src="image_1.jpg">
// :first は、最初に見つかったもの
$( '#photo_1:first' ).each( function ( index, elem ) {
const image_1_basename = "image_1"
const image_1_filename = image_1_basename + ".jpg"
$(this).attr('src', image_1_filename) // 設定
} )

722:デフォルトの名無しさん
23/03/14 02:37:35.49 JIhs77SCM.net
JSスレでJSのこと聞きたいんならティラノの名前出すなよ

723:デフォルトの名無しさん
23/03/14 08:16:42.83 gMQMDZBfd.net
それはそう

724:デフォルトの名無しさん
23/03/14 13:16:01.19 bBCbUtGh0.net
jpegの名前を動的に指定できるよ

725:デフォルトの名無しさん
23/03/14 13:21:05.82 crjDIavXr.net
>>707
ティラノについて少し調べたのでスレ違いを承知の上で書きます
あなたが>>691>>697でやりたいことは
[bg storage="&f.bg + '.jpg'" time=1000]
というような書き方で実現できるかと思います
簡単に説明します
まず「&f.bg」の「&」はエンティティと呼ばれるもので変数の値をタグのパラメータとして渡すときに使用します
URLリンク(tyrano.jp)
の最後に説明があります
そして、storageパラメータに渡す際に「 + '.jpg'」で拡張子を連結しています。これは
URLリンク(tyrano.jp)
のkaisetsu/19_variable_1.ksの415行目~に変数に対して数値演算をした値を
パラメータに渡す例がありました。文字列の連結も同様に可能です
これによって、変数f.bgの値が「花」ならば「花.jpg」が、「山」ならば「山.jpg」が表示されます
例は背景ですがキャラやその他の画像でも可能だと思います

726:デフォルトの名無しさん
23/03/14 13:30:55.51 crjDIavXr.net
>>707
なお、簡単なサンプルで動作確認をしました
URLリンク(tyrano.jp)
上記チュートリアルに従って新規プロジェクトを作成し、
first.ksの内容を以下のように書き換えて実行してみてください
*start
[wait time=100]
背景を変更します。[r]
[link target=*select_room]<教室>[endlink][r]
[link target=*select_rouka]<廊下>[endlink][r]
[s]
*select_room
[eval exp="f.bg='room'"]
[jump target=end_select]
*select_rouka
[eval exp="f.bg='rouka'"]
[jump target=end_select]
*end_select
[cm]
[bg storage="&f.bg + '.jpg'" time=1000]
[jump target=start]

727:デフォルトの名無しさん
23/03/14 20:28:58.71 2HNLo12V0.net
>>713
ありがとうございます!!できました!!

728:デフォルトの名無しさん
23/03/14 20:53:16.27 2HNLo12V0.net
作業が一気に楽になりました!
>>713も他の方も本当にありがとうございました!
そして不可能と思いこんでたことが実は可能だったあたりはすみませんでした!

729:デフォルトの名無しさん
23/03/14 20:53:28.39 GiZ8CeD1r.net
>>715
解決したのならなによりです
が、今回無駄に遠回りをしてしまったのは自覚、反省しましょう
あなたはこの問題の解決はティラノ単体では無理だと決めつけてしまったためにこのスレで質問しましたが
その判断は正しくありませんでした
繰り返しになりますが、この先また何か躓いたときはまずティラノの掲示板なりスレなりで聞いてみるようにしましょう(たとえJSに関することであれ)
その方が解決が早く、的確なはずです

730:デフォルトの名無しさん
23/03/14 21:02:42.69 GiZ8CeD1r.net
>>716
ちょうどかぶってしまいましたが、ちゃんと自分の非を認められる人で安心しました
こちらも少し言葉がキツくなってしまった点はお詫びします

731:デフォルトの名無しさん
23/03/15 01:17:49.11 sTLgg4Iop.net
初めまして
Pixiv filter(GitHubで公開、リンクはスパム対策で貼れず)という拡張機能がありまして、それに似たものを自作したいと思い立ち、色々調べてみました
別スレにて、検索画面上での作品ごとのタグは、画面には表示されないもののデータとしては生成されている、という事を伺ったのですが、
どこに生成されているのか、どうやったら参照できるのかなどが分からず、苦戦しております。
ご教授頂ければ幸いです

732:デフォルトの名無しさん
23/03/15 02:28:06.62 i4bxOxoza.net
これか?
github.com/kazu-ux/PixivFilter
React, TypeScript

733:デフォルトの名無しさん
23/03/15 07:58:24.49 q+AMrJS6H.net
反省なんて必要ないわ、なんか強迫症的なやつがうざい
なんなんだ、執着が過ぎる

734:デフォルトの名無しさん
23/03/15 08:01:02.20 q+AMrJS6H.net
プログラムではすべてのタグを検出して配列等に格納しているが
そこから抽出して出力する処理をしてるってことじゃない?
見てないからわからんけど

735:デフォルトの名無しさん
23/03/15 09:37:50.61 OLitJJv/d.net
>>719
なんか見覚えあると思ったらこれか
スレリンク(hp板:342番)
343をレスしたの俺だけど回答の内容を理解できなかったってこと?
分からないところがあったのなら追加で質問すればよかったろうに
それをせずに全然違うスレで聞き直してるのはなんで?

736:デフォルトの名無しさん
23/03/15 20:45:42.17 q+AMrJS6H.net
Pixiv filterが何なのかわからないし確認もしてないけど、
例えば複数の作品毎にTagオブジェクトがあったとして、
Tagのプロパティに表示させるか表示させないかを判定するプロパティがあり
そのプロパティ名がshowAbleで、表示を許可するのは、showAble:true
許可しない場合には、showAble:false
とされていたとすれば
まず最初にすべての作品Tagオブジェクトが格納されている配列を取得し(もしくは配列に取得する関数を作り)
(let tagArr=[tag1,tag2,tag3,tag4....];)
その配列から、tag.showAble=trueであるオブジェクトを取得して別の配列(showAblerArray)に格納し
(let showAbleArray=[] ; for(let t of tagArr){ (if(t.showAble==true){showAbleArray.push(t)
showAbleArrayの全要素に対して、表示させる処理をする
(for(let s of showAbleArray){,,,,,,どこに表示させるか......})
っていう感じでどうですか?

737:デフォルトの名無しさん
23/03/15 22:44:21.64 ohrI2qnX0.net
jQueryはなぜ嫌われる?
簡単な構文で便利だと思うが…。
他のライブラリ・フレームワークとの互換性が高ければいいのに。

738:デフォルトの名無しさん
23/03/15 23:48:50.56 T0OxazTtM.net
技術的には好かれてるわけでも嫌われてるわけでもない
スレ的には脈絡なく蒸し返す厄介な奴がいるので敬遠される

739:デフォルトの名無しさん
23/03/16 07:03:01.34 Hd88hZaKH.net
嫌われてはないんだろうけどスレチなんでない?

740:デフォルトの名無しさん
23/03/16 07:15:13.56 Hd88hZaKH.net
javascriptで作られたプログラムの処理に関して
Jqyeryを使えば簡単だよって言われても
いやいやここはjSで書きたいんでってなるでしょ
そういう質問に対してjqのほうが簡単っていうのがよくわからん
フレームワークの質問スレは
ベース言語のすれとは別に立てたほうが

741:デフォルトの名無しさん
23/03/16 09:02:04.98 c9lqR0yG0.net
www

742:デフォルトの名無しさん
23/03/16 10:39:46.62 fxj0X8UB0.net
フレームワークスレは一応立ってるね
糞スレだからそこで質問して回答があるのか知らんけど

743:デフォルトの名無しさん
23/03/16 11:25:08.38 QjQVIFFDr.net
>>721
これもしかして私に対して何か言おうとしてる?
もしそうならもう少し具体的に問題点を指摘してもらえないかな

744:デフォルトの名無しさん
23/03/16 15:46:42.93 FgyDZ6E70.net
いえいえ、違います、気にしないでください

745:デフォルトの名無しさん
23/03/16 20:33:58.52 ParHajkN0.net
>>732
あなたは>>721とワッチョイもIPも違うようだが…

746:デフォルトの名無しさん
23/03/16 20:55:51.48 Olf8APhOd.net
>>724
どうですか?も何もそんな都合のいい妄想データを元に書いたコードなんぞ
役に立たないどころか混乱させるだけだからやめようよ

747:デフォルトの名無しさん
23/03/16 21:11:03.92 Hd88hZaKH.net
混乱させるだけとかwww
そもそも解答者がわざわざ対象コードを検索して読み込み
そして質問者が満足するようなコードを生成するとか、自分は絶対しないw
質問者は
・何やら検索するらしい
・検索はタグで行うらしい
・タグで検索しても表示するものとしないものがあるらしい
その3点でアドバイスするのなら
・検索ワードでヒットする画像を抽出する
・ヒット判定は画像のタグプロパティで判定
・判定でヒットした画像を1枚もしくは複数枚表示する
とした場合で、初心者初学者向けにアドバイスするのなら
上記の感じのアドバイス以外に何かできるアドバイスあるん?
質問の質以上のアドバイスなんてできない
まずはオブジェクトとプロパティあたりから始めるしかないっしょ



748:て思ってのアドバイスなのねん



749:デフォルトの名無しさん
23/03/16 21:38:40.67 Olf8APhOd.net
質問者がわからないと言ってるものには具体的な対象があるわけよ
それを無視して一般的な考え方のアドバイスをするなら抽象的な話にとどめればよくて
わざわざデタラメコードを生成することはなかろ

750:デフォルトの名無しさん
23/03/16 22:01:47.84 Hd88hZaKH.net
それはそうですね
おっしゃる通り
でもデタラメとか言わんでください!

751:デフォルトの名無しさん
23/03/17 21:04:07.19 irjN28+Dd.net
他に適切な表現が見つからなかったからごめんな

752:デフォルトの名無しさん
23/03/17 21:08:34.06 ZP9+v2PL0.net
こっちがデタラメなコード書くと見かねていい感じのコード書いてくれるツンデレ

753:デフォルトの名無しさん
23/03/18 02:26:56.50 dC3/JFCa0.net
すみません、私の知識不足というか理解不足も大きそうですので、手が出るところからさせて頂こうと思います。
javascriptの「fetch」メソッドなのですが、これはjsonファイルを読み込む事はできないのでしょうか?ローカルで試しましたが、エラーになってしまうようです

754:デフォルトの名無しさん
23/03/18 05:10:03.75 s5wH/EpL0.net
>>740
fetchやXHRも >>469-475 と同様基本的にFileURIでのアクセス不可

755:デフォルトの名無しさん
23/03/18 15:36:03.94 dC3/JFCa0.net
ありがとうございます。「ローカルのサーバーを立てる」と良いらしいのですサーバーは専用のパソコンでないと、セキュリティ的にも危険と聞いた事もありますが、大丈夫なのでしょうか。また、実際やるとしたら、どのような方法があるでしょうか。

756:デフォルトの名無しさん
23/03/18 15:40:55.59 T8cp6VGg0.net
Xamppつかっておけばよろし

757:デフォルトの名無しさん
23/03/18 19:03:06.43 xpgWDt8BH.net
>>742
vscodeって使える?すごく簡単なエディタ
そのエディタでliveServerっていう拡張があるんだけど使えるか試してみたら?

758:デフォルトの名無しさん
23/03/18 21:30:20.18 HGxbjpaKd.net
Promise.race()で複数のPromiseを渡して、最初に終了したタスクのPromiseを受け取ったあと、同様に順次残りのタスクを完了したものから受け取るような書き方はできますか?
(最終的にすべての非同期タスクの終了まで繰り返す)
Pythonでいう、as_completedのように複数非同期タスクを、終了次第順次ループで受け取るような形です。

759:デフォルトの名無しさん
23/03/19 12:35:04.92 DxTl2kdL0.net
>>743 >>744
vscodeの方を使わせて頂きました。お二方ともアドバイス、ありがとうございました。
余談ですが、jsonファイルに単なる文字列(あああ、abc、123)などを単発で格納するとしても、「名前:値」のフォーマットは守らないといけないんでしょうか(名前をいちいち宣言しないとダメなのか)。

760:デフォルトの名無しさん
23/03/19 12:36:07.26 DxTl2kdL0.net
正確には「{"名前":値}」ですね。省略できれば楽だなと思ったのですが。

761:デフォルトの名無しさん
23/03/19 12:59:08.70 4pa7IAk9d.net
{"名前":値}はあくまでオブジェクトの形式であって文字列や数値のみを返したいなら不要
ただし文字列は"あああ"や"abc"とする必要はある
URLリンク(www.json.org)

762:デフォルトの名無しさん
23/03/19 13:08:00.26 DxTl2kdL0.net
ありがとうございます。おそらく
"abc", "あああ"
のようなカンマ区切りで大丈夫でしょうか。

763:デフォルトの名無しさん
23/03/19 13:20:25.80 S0dCUzy1d.net
単一の値でない場合は配列にすること
["abc", "あああ"]
有効なjson形式かどうかはJSON.parse()に食わせてみるといい
JSON.parse('"abc", "あああ"'); //NG
JSON.parse('["abc", "あああ"]'); //OK

764:デフォルトの名無しさん
23/03/19 14:04:53.34 DxTl2kdL0.net
>>750
参考になりました。ありがとうございます。

765:デフォルトの名無しさん
23/03/19 15:26:18.81 FTc6ajskM.net
>>745
各promise完了後に順次実行したい共通処理をmapしてthenでチェイン
Promise.all(promises.map(p=>p.then(log(“resolved”)))).then(log(“All finished”);
function log(message=“”) {
return (x) => {
console.log(`${message}: ${x}`);
return x;
}
}

766:デフォルトの名無しさん
23/03/19 16:15:48.14 /GeuLHtL0.net
趣味でWebサイトを使うのにJSを勉強しだしてまだ3年目なのですが、
なぜか年明けから会社のDX担当にされました。
今社内システムがIE9向けにActiveXが使われているのですが、Edgeに移行するので動くように直してと言われています。
これまで自分なりにいろいろ調べてきて、とりあえずHTML/CSSなどの見た目の部分と、大したことをしていないJSの部分は移行できたのですが、
肝心のActiveXであれこれやっているところを直すことができません。
期限は3月末までで苦しんでいます。
例えばこのような箇所があります。
var connection = new ActiveXObject("ADODB.Connection")
var recordset = new ActiveXObject("ADODB.Recordset")
var connectionString = "Provider=sqloledb;Data Source=~~~
var query = "~~~
connection.Open(connectionString)
recordset.Open(query, connection)
while (!recordset.EOF) {
var encryptedData = recordset.Fields("data").value
var decryptedData = decryptData(encryptedData, decryptionKey)
~~~
recordset.MoveNext()
}
これをEdgeで代替手段で実装しようと思ったら、どのようなコードになりますか?
ライブラリやフレームワークは使ってはいけないことになっていますが、バレなさそうなものなら中に組み込むつもりです。
どうかよろしくお願いします。

767:デフォルトの名無しさん
23/03/19 16:36:55.71 HI67bUFb0.net
代替手段なんてない
仕事振ったやつが何も分かってない
あれこれやってる内容をなにか別の技術で1から組み立てる必要あり
それかedgeのIEモードは検討出来ないの?

768:デフォルトの名無しさん
23/03/19 17:21:20.47 HTlOdPesM.net
今から実装してテストしてリリースしてその後の問い合わせ対応や運用に備えるのはスケジュール的に無理でしょ
3月末を死守する必要があるならIEモード1択
IEモードで時間稼ぎしてその間にサーバーサイドからDBアクセスする仕組みを作る
IEモードにするにしてもグループポリシーの変更・適用のテストや問い合わせ対応の準備を考えればそれでも時間が足りないくらい

769:デフォルトの名無しさん
23/03/19 18:07:07.17 EAkcZvWPd.net
>>753のコードにぶち当たった時点でEdgeというかブラウザ単体で実現できないことには気がついて欲しいものだが
仮にも2年はJSを勉強していたと言うなら

770:デフォルトの名無しさん
23/03/19 18:51:42.92 M92RK9ru0.net
JSONでダミー値をコメントのつもりで使ってたらエスケープできてない\でパースエラーになるデータができたりして使うのが怖くなった
やっぱコメントぐらいは定義必要だったなこれ
人間が手書きするものじゃないとしてもよく普及したもんだ

771:デフォルトの名無しさん
23/03/19 18:56:28.01 M92RK9ru0.net
>>753
そういうのってEdgeのIEモードに移行して終わりでしょ
周囲も期間的にその程度しか期待してないと思うけど

772:デフォルトの名無しさん
23/03/19 19:09:54.29 M92RK9ru0.net
ど素人だとIEモードが何なのかで3月は潰れるかもしれんけど一応
基本的には社内のADサーバでGPO管理してる奴にEdgeのIEモードのサイトリストに追加してもらう
これは君の担当以外にもIEモードのサイトは糞の山程あって既知の対応だからおそらく追加を依頼するだけでいいはず
うまくすればそれだけで作業が終わる可能性もある

773:デフォルトの名無しさん
23/03/19 19:35:09.37 vtMigryt0.net
>>757
コメントの書式があったって書式から逸脱する文字列を入れてパースエラー出す未来しか見えんわ。

774:デフォルトの名無しさん
23/03/19 19:46:06.22 GXvqERSA0.net
たぶんIEを前提とした目の前にあるコードを読み解いて作り直すより設計書用意したほうが早い
あるいはAIと二人三脚

775:751
23/03/19 19:54:47.83 /GeuLHtL0.net
みなさまありがとうございます
IEモードは1,2度調べて、いつまでこのモードがあるか分からないからと止めたのですが、
やはり時間稼ぎも考えるとこれしかなさそうです。
その間に根本的な解決策を探したいと思います。
なぜか年明けから会社のDX担当にされました。
と言いましたが、実はそれは嘘です。
年末にかけて社員が半分以上辞めて、残った人の中で一番詳しそうだったのが僕だったのです。
実は、サーバーサイドをいじらないといけないのだということは、薄々気づいていました。
でも、今動き続けているサーバーを触れる人が誰もいないのです。
僕も、SQLというものがある、という程度の知識しかないので、触る気にもなりません。
とりあえず夏のボーナスまで引っ張って、無理そうだったら自分も転職します。
今動いているものをうっかり壊したら、止められなくなりそうなので慎重にがんばります。
ありがとうございました。

776:デフォルトの名無しさん
23/03/19 19:55:19.68 xryn/wmcd.net
>>757
怖いも何もパーサーがきっちり仕事してる証拠じゃないの?
コメントを書きたいって需要に対してはJSON5やJSONCって派生規格があるから
それらを検討するべき

777:デフォルトの名無しさん
23/03/19 20:23:01.76 M92RK9ru0.net
何が理由かは置いといて技術を含めた社員がごっそり半数も辞めてる状況だとその会社から賞与もまともには出ないだろう
Edgeへの移行時期としてもかなり遅れてるし有給消化しつつ転職活動に専念した方がいいね

778:デフォルトの名無しさん
23/03/19 20:33:33.23 M92RK9ru0.net
>>763
規格はあれど既存の環境に適用できるものではないのがな
JSON


779:として扱う前にJSONCとしてコメント抜く前処理でも通すか



780:デフォルトの名無しさん
23/03/19 22:37:02.99 SC8SOdGAd.net
>>765
パーサーにケチつけてるよりはその方が建設的でしょうよ

781:デフォルトの名無しさん
23/03/20 03:23:46.29 iV2jn8x9a.net
>>740
VSCode の拡張機能では、
open in browser では、ローカルファイルアクセスになる。
この場合、CORS など、ブラウザの色々な制限がある
file:///C:/Users/Owner/Documents/test/index.html
一方、Live Server では、
自分のPC 内にサーバーを立ててから、そこから配信されるので、テストしやすい
URLリンク(127.0.0.1:5500)
>>753
そういうのは、Excel, VBA, Access とかじゃないの?
ベンチャー企業やプロのバックエンドは、Ruby on Rails だけど

782:デフォルトの名無しさん
23/03/20 04:02:42.23 iV2jn8x9a.net
>>745
Promise.all/allSettled とか?

783:デフォルトの名無しさん
23/03/20 19:47:12.99 PTBUy+ct0.net
chromeの拡張機能で、「ngWord.json」内のデータを「background.js」経由で「content_script.js」に格納しようとしていたのですが、上手くいきません。コードでおかしな点等あれば、ご教授頂けないでしょうか。
【background.js】
fetch('ngWord.json')
.then(response => response.json())
.then(data => {
// content_script.jsにデータを送信
chrome.runtime.sendMessage({ngWords: data});
});
【content_script.js】
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
if (message.ngWords) {
const ngWords = message.ngWords;
console.log(ngWords); // 受信したデータを表示
}
});

784:デフォルトの名無しさん
23/03/20 19:56:51.89 hUotJVz90.net
>>769
バックグラウンドからタブに送信するならchrome.tabs.sendMessageじゃないかな?

785:デフォルトの名無しさん
23/03/20 20:37:35.10 PTBUy+ct0.net
>>770
「タブ」というのは、「content_script.js」のことでしょうか?
だとすると「chrome.tabs.sendMessage(tabId: content_script.js, ngWords: data)のように書く感じでしょうか。

786:デフォルトの名無しさん
23/03/20 20:53:08.72 mlA7fjwPM.net
雑な方法としてはアクティブなタブに送ればいいんちゃう?

787:デフォルトの名無しさん
23/03/20 21:36:27.87 hUotJVz90.net
>>771
そうです。background から content_script に送信する場合はchrome.tabs.sndMessage だったと思いますよ
chrome.tabs.query({active:true,(tabs)=>{
chrome.tabs.sndMessage(tabs[0].id,{
ngWordsg:data
})
}})
というような感じで

788:デフォルトの名無しさん
23/03/20 21:40:33.20 xjtq7KFo0.net
最初にコンテンツスクリプト側から何かメッセージ送れば
バックグラウンド側のchrome.runtime.onmessage.addListenerのsender.tab.idでタブID取れるっしょ

789:デフォルトの名無しさん
23/03/20 21:49:32.93 hUotJVz90.net
それならtab.id必要なくてsendResponseで返せるんじゃないかな?

790:デフォルトの名無しさん
23/03/20 21:53:15.40 PTBUy+ct0.net
【background.js】
fetch('ngWord.json')
.then(response => response.json())
.then(data => {
chrome.tabs.query({active:true,(tabs)=>{
chrome.tabs.sendMessage(tabs[0].id,{ngWords:data})
});
};
【content_script.js】
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
if (message.ngWords) {
const ngWords = message.ngWords;
console.log(ngWords);
}
});
このように修正しましたが、上手く取得できないようです。

791:デフォルトの名無しさん
23/03/20 22:00:26.17 hUotJVz90.net
そもそもngWord.jsonの中身とれてますか?ローカルファイルならweb_accessible_resources書いてchrome.extension.getURLで取るんじゃないでしょうか?

792:デフォルトの名無しさん
23/03/20 22:04:38.80 xjtq7KFo0.net
もしかしてスクリプト本当にそれだけなの?
だとしたらcontent_script.js実行される前にbackground.js終わってそう

793:デフォルトの名無しさん
23/03/20 22:24:56.04 PTBUy+ct0.net
申し訳ありません、私の知識不足で、よく分かりません。もう一度格闘して、改めて質問させて頂きます。ご教授下さり、ありがとうございます。

794:デフォルトの名無しさん
23/03/20 23:58:23.18 hUotJVz90.net
>>779
めっちゃ適当なこと言ってましたわ
web_accessible_resourcesとchrome.extention.getURLは関係ないっぽいです
まずcontent_scriptが実行されるタイミングでbackgroundからタブにデータを送れるはずなくて
かといってcontent _scriptからメッセージ送ってbackgroundでfetchしたデータを送ろうとしてもセキュリティー的になのか送れない
なのでbackgroundでfetchしたjsonをchrome.storage.local.setで保存してcontent _scriptからchrome.storage.local.getで読み込むが正解っぽいです
暇だったんで...

795:デフォルトの名無しさん
23/03/21 04:01:46.37 rEPYZ+tza.net
漏れはプロジェクトを作って、index.ts に、TypeScript で以下を書いて、
npm/yarn, webpack, babel でビルドすれば、
import で、JSON ファイルやLodash も読み込めるけど
import WordData from "./word_data_tmp.json";
console.log( WordData.length )
const ary = [ ...Array( 5 ).keys( ) ]
// => [0, 1, ....,4]
import shuffle from 'lodash.shuffle';
console.log( shuffle( ary ) );
// => シャッフルされる

796:デフォルトの名無しさん
23/03/25 14:02:02.15 MQIuadNDM.net
Next.jsでAPI Routesを使わないのは一般的でしょうか?

797:デフォルトの名無しさん
23/03/25 18:19:14.13 1/y/Yy4J0.net
「一般的」のような主観的なものてはなく、客観的な定義が必要なのでは

798:デフォルトの名無しさん (ワッチョイ eb5f-DdLV [14.8.104.32])
23/03/28 20:12:53.97 RtCr5Rz10.net
プロミスって何?

あとfetchってasync、await使うのと.then使うのでどっちがいいの?

799:デフォルトの名無しさん
23/03/29 11:27:02.70 NxiPtBQP0.net
>>784
普通に調べれば出てきますよ
調べても調べてもよくわからんって質問をどうぞ

800:デフォルトの名無しさん
23/03/29 12:55:23.79 y04hNuo/d.net
消費者金融機関だよ

801:デフォルトの名無しさん
23/03/29 13:11:20.35 6965UHWi0.net
>>786
絶対に許せないのでxhrにしますね

802:デフォルトの名無しさん
23/03/31 02:32:51.01 VdncSfH00.net
メイン画面でボタンをクリックすると
別ウィンドウが起動し、ニュースサイトを表示するプログラムを組んでいます。
別ウィンドウが起動した時に
そのウィンドウが閉じられたのか、開かれたままであるのかを
メイン画面で判定するにはどういうコードを書けばよいでしょうか?
別ウィンドウでサイトが開かれている間は
1、2、3・・・とカウントし、閉じられると0を
メイン画面にjQueryでレンダリングしようとしています。

803:デフォルトの名無しさん
23/03/31 03:09:38.31 29iJjOEC0.net
>>788
window.closed はどう?

804:デフォルトの名無しさん (ワッチョイ 1f8b-3uzD [211.5.157.105])
23/03/31 11:32:39.06 VdncSfH00.net
>>789
ありがとうございます。
ちょっと試してみます。

805:デフォルトの名無しさん
23/04/23 22:40:30.72 k6QZkjYI0.net
先日(1週間くらい前)まで動いていたジャバスクリプトが動かなくなった。
ブラウザの不具合を疑って firefox、edge、さらに ie11 まで持ち出したらどれも動かない。
ウインドウズのセキュリティの締め上げかなと思って
スマホ(アンドロイド)で確認したがこっちも動いていない。
押し入れから昔のアイポッドタッチ(iOS9)を持ち出したが、やっぱ動かない。
こんなことってある?
アイポッドタッチなんてスクリプトが動いていたころとなに一つ変わっていないのに
なんでこの前は動いたのに今日は動かないんだ?
1年前のバックアップと差分比較してファイルが壊れていないことは確認した。
ちなみに自分がジャバスクリプトを作成するにあたって参考にしたスクリプトは
いまも普通に動いている。

806:デフォルトの名無しさん (JP 0Hc5-/HYv [126.249.157.89])
23/04/24 07:00:31.38 z1nNn0o4H.net
エラーも出て�


807:ネいのか? まったく反応してないのならhtmlで読んでないんじゃね?



808:デフォルトの名無しさん (スプッッ Sd73-8Xzj [1.75.215.168])
23/04/24 08:37:00.30 Z0B9bFh/d.net
動いてた夢を見たんだ

809:デフォルトの名無しさん
23/04/24 09:21:53.70 U4o0cUkO0.net
>>791
ブラウザの不具合疑う前に
エラーログ出て無いか確認しろ
エラーログすら出てないならHTML側でちゃんと呼び出せてるか確認しろ

810:デフォルトの名無しさん (ワッチョイ 2bbd-L85M [49.129.243.228])
23/04/24 12:05:07.84 VtgoOt7B0.net
https の証明書が古い

811:デフォルトの名無しさん (ワッチョイ 6910-bhMa [180.59.92.6])
23/04/24 13:08:00.47 MpRTlb310.net
>>794
エラーログを見たらあっさり解決しました。
夜更けに一人で大騒ぎしてごめんなさい orz

いまブラウザの開発者ツールでジャバスクリプトのエラーが見られるんだね。
びっくりした。

原因はHTMLの削除した部分にスクリプトで動かす部分があって
動かすべきものがないから次の処理に行けずエラーになっていました。
スクリプトばかり見ていてHTMLは盲点でした・・・。

812:デフォルトの名無しさん
23/04/24 13:15:26.56 3ESYAe520.net
開発者ツール超便利だよね

813:デフォルトの名無しさん
23/04/24 13:22:29.25 sSUQNn8cr.net
まあそういうオチだろうなとは
アドバイスを求めるならhtmlを修正したことは伝えるようにしてほしいところ

814:デフォルトの名無しさん (JP 0Hc5-/HYv [126.249.157.89])
23/04/25 18:51:33.50 /Hd1NuvtH.net
解決したようでなによりなにより

815:デフォルトの名無しさん (ワッチョイ eb7d-RykB [1.33.235.4])
23/04/26 19:26:29.99 lfd6T/fN0.net
URLリンク(abehiroshi.la.coocan.jp)

この阿部さんのHPの左のフレームから「舞台出演」を取得したいんだけど、

const frame = await page.$('frame[name="left"]');
 const contentFrame = await frame.contentFrame();

こんな感じでcontentFrameを取得するところまでは上手く行くんだけど、

 const aElement = await contentFrame.$('body table.today tr:nth-child(8) td:nth-child(3) p a');

次の要素を取得する段階になるとnullになってしいます
どうすれば阿部さんの舞台出演を取得できますか?

816:デフォルトの名無しさん (ワッチョイ d961-99Et [220.107.169.163])
23/04/26 20:39:08.46 UfBGheQ30.net
>>800
.todayなんてclass付いてないぞい

817:デフォルトの名無しさん (JP 0Hc5-/HYv [126.249.157.89])
23/04/26 22:57:11.72 Q5IzIMlUH.net
それってJS?

818:デフォルトの名無しさん (JP 0Hc5-/HYv [126.249.157.89])
23/04/26 23:08:17.75 Q5IzIMlUH.net
そもそもnullを取得してるってことは所望のオブジェクトが取得できていないってことよん?

819:デフォルトの名無しさん (エムゾネ FF33-Nhf9 [49.106.174.76])
23/04/27 13:47:05.09 jYECG79eF.net
>>800
それ、ChromeのDevツールとかで、Elementの検索にセレクター入力してちゃんとヒットする?

820:デフォルトの名無しさん (ワッチョイ 03c2-+mtg [133.155.195.156])
23/04/29 00:34:06.33 FZLDUbkY0.net
['apple', 'パイナップル', 'pineapple (パイナップル)', 'りんご', 'pineapple']

['apple', 'パイナップル | pineapple', 'りんご']
に別名ふくめて重複削除して整形したいんですがスマートな方法ないですか

821:デフォルトの名無しさん (ワッチョイ 23bd-MgCS [125.197.237.23])
23/04/29 01:41:53.10 bskwYySl0.net
>>805
パイナップルの表記方法はどういう仕様なの?
スマートじゃない方法で実装できてるならそれを貼ってみたら?

822:デフォルトの名無しさん (ワッチョイ 03c2-+mtg [133.155.195.156])
23/04/29 01:58:50.79 FZLDUbkY0.net
>>806
別名がカッコで後ろに付く場合があったりなかったりをまとめたいんです
今は文字列に取り出して正規表現で割ってまた戻して~って頭悪くやってます

823:デフォルトの名無しさん (ワッチョイ 23bd-MgCS [125.197.237.23])
23/04/29 02:08:42.66 bskwYySl0.net
>>807
元の配列には、同じ値が複数、たとえば 'りんご' が何個も入ることがある?

ただ何にしても、現状がどの程度頭悪いのか分からんけどそこそこ泥臭くなるんじゃないかなぁ

824:デフォルトの名無しさん (ワッチョイ 03c2-+mtg [133.155.195.156])
23/04/29 02:20:05.97 FZLDUbkY0.net
>>808
あります

825:デフォルトの名無しさん
23/04/29 05:52:34.96 q0/EY4lO0.net
>>809
ちょっと面白そうだったので作ってみたけど、あんまりいい出来にはならなかった。
わざわざ見せるようなものじゃないんだけど、一応貼っとく。
アプローチとしては、単品アイテムまたは別名で括られた同一アイテム毎に配列実体を持たせて、重複排除しながらその実体に放り込んで最後に文字列化する。
複数の別名定義で 2つ以上の名前を括ったり、名前の登場順で連結するようにした。

URLリンク(i.imgur.com)

826:デフォルトの名無しさん (ワッチョイ 1bbd-MgCS [119.240.43.251])
23/04/29 06:04:20.63 ZqMIj65v0.net
あわわ、26-32行目は整理できた

const new-content = [];
alias_ref[item] = alias_content.length;

827:デフォルトの名無しさん (ワッチョイ e38b-fitb [211.5.157.105])
23/04/29 20:12:37.30 wJzxOo1h0.net
JavaScriptでタイマー処理をしています。
指定した秒数(ここでは10秒)経過したらタイマーを停止する様にしていますが
タイマーが止まりません。助けてください、、、

$(document).ready(function(){
$("#id_div_test").click(function () {
setInterval(TestFunction , 1000);
});
});

var i_current_second = -1;
function TestFunction()
{
i_current_second++;
if( i_current_second == 10)
{
clearInterval(TestFunction);
}
}

828:502 (ワッチョイ d501-nY3o [36.240.121.112])
23/04/29 20:34:34.21 ulzy/WI80.net
>>812
使い方間違っとるな
そういうときはまずリファレンスを読め
URLリンク(developer.mozilla.org)

829:デフォルトの名無しさん (ブーイモ MM49-3F9Y [202.214.125.164])
23/04/29 20:36:30.58 WiY5v75xM.net
clearIntervalの引数に入れるのはsetIntervalから帰ってくるnumber
型エラーでハマるのアホらしいしts使うか無理なら//@ts-checkをファイルの先頭に書いとけ

830:デフォルトの名無しさん (ワッチョイ e38b-fitb [211.5.157.105])
23/04/29 20:54:08.29 wJzxOo1h0.net
>>814
わかりません。。。どう書けば良いでしょうか?

831:デフォルトの名無しさん (ワッチョイ e38b-fitb [211.5.157.105])
23/04/30 00:03:19.23 x92s4/Ng0.net
>>814
できました!

832:デフォルトの名無しさん
23/05/07 14:48:48.64 NS1NVPz40.net
>>812
こういうのはそのまんまChatGPTに聞けばヒントなり、回答、修正案なんかも返してくれ
る。
----
この問題は、`clearInterval`に渡す引数が誤っているために発生しています。`setInterval`に渡したのは `TestFunction`関数ですが、`clearInterval`に渡すのは `setInterval`が返すタイマーIDです。このタイマーIDは `setInterval`を呼び出すと返されます。
以下は修正されたコード例です。
$(document).ready(function(){
$("#id_div_test").click(function () {
var timerId = setInterval(TestFunction , 1000);
// タイマーIDを保持するために変数に代入する
});
});
var i_current_second = -1;
function TestFunction()
{
i_current_second++;
if( i_current_second == 10)
{
clearInterval(timerId); // 正しいタイマーIDを渡す
}
}
ここでは、`timerId`変数を`setInterval`の戻り値として宣言し、`clearInterval`に渡すようにしました。これにより、タイマーが正常に停止するはずです。

833:デフォルトの名無しさん
23/05/08 05:12:47.92 AmPaXWnYM.net
>>817
ここいらんやんけ…

834:デフォルトの名無しさん (ワッチョイ 52bd-F1Es [133.209.119.64])
23/05/08 09:31:16.79 nWGvwrRY0.net
>>817
setIntetval してるスコープの timerId を clearInterval するスコープから参照できる?

835:デフォルトの名無しさん (ワッチョイ 5b7c-01SL [122.212.18.110])
23/05/08 19:39:25.41 0kSPeCjv0.net
エラーが出たらまた聞けば直してくれる
あとほ聞き方の問題だね

836:デフォルトの名無しさん (ワッチョイ 028b-KeI6 [211.5.157.105])
23/05/08 22:29:23.94 BI0XZhvO0.net
>>817
え?そんな事までChatGPTできるの???すごくね??
どんなシステムになってんだろ。

837:デフォルトの名無しさん (オイコラミネオ MMc7-3VlF [150.66.117.113])
23/05/08 23:30:02.71 ieW4qdsxM.net
条件によってスクリプトを途中で止めさせたいんだけど三項演算子じゃreturnするしないを分けるのは無理?
if exitFlag return false

838:デフォルトの名無しさん (ワッチョイ e2bd-F1Es [221.171.102.45])
23/05/08 23:46:59.68 PuDhFqQc0.net
>>822
多分無理だと思うけど、なんで if じゃいけないの?

839:デフォルトの名無しさん (オイコラミネオ MMc7-3VlF [150.66.117.113])
23/05/08 23:51:00.55 ieW4qdsxM.net
>>823
三項演算子の中で使ってるからなんか気持ち悪い

840:デフォルトの名無しさん
23/05/09 00:52:34.88 eLWpr74i0.net
f = (flag) => flag ? false : true;
console.log(f(true));
console.log(f(false));

841:デフォルトの名無しさん
23/05/09 00:52:45.73 RQydgiqHd.net
>>821
ChatGPTをプログラム用途で使ったこと無いなら一度つかってみると良いよ。
ググる手間がかなり少なくなる
もちろん、間違い返答の可能性もあるからそこら辺はうまく扱う必要があるけどね。
あとGitHub Copilotはもっとヤバいよ。プログラマーなら一度は使うべき

842:デフォルトの名無しさん (ワッチョイ e2bd-F1Es [221.171.102.45])
23/05/09 01:40:34.46 r9kkpYgp0.net
OSS のソース読むときにも ChatGPT は便利だよ。
内部関数名とか聞いても何するものか教えてくれる。
この間 OpenSSL のソース読んでて助けられた。
暗号のコードなんて読んでもよくわからないしw

843:デフォルトの名無しさん (ワッチョイ 028b-KeI6 [211.5.157.105])
23/05/09 07:51:33.95 y5YEea020.net
>>826
GitHub Copilot
そんなのもあるんですね。

844:デフォルトの名無しさん (ワッチョイ 028b-KeI6 [211.5.157.105])
23/05/09 10:14:34.85 y5YEea020.net
ChatGPTでsqlでハマった点を質問してみたんだけど
ヤバイな。一瞬で分かり易く解説してくれた。

どんなプログラムを組んでるんだ。凄すぎる。

845:デフォルトの名無しさん (ワッチョイ 028b-KeI6 [211.5.157.105])
23/05/09 14:59:12.62 y5YEea020.net
chatGPTえぐいんですけど。

846:デフォルトの名無しさん
23/05/18 17:50:03.04 An6NATd90.net
javascriptでctrl+Wでブラウザタブが落ちるのを無効にする方法はありますか?

847:デフォルトの名無しさん
23/05/23 06:51:40.61 tIBpGAYNH.net
それはJSの設定?Winの設定?

848:デフォルトの名無しさん
23/05/23 20:39:57.19 85f2/18wa.net
最近勉強してvarの何でもありな傍若無人さに気が付いた
例えば関数実行後に初期化してもホイスティングで勝手にundefiedが代入されるからエラーにならず混乱の素、
ブロックスコープ内で使うとその生成を無視するから混乱の素
なのでプロなのにES6以降の環境で未だにvar使ってる人って新人にも劣ると思った
ES6以降でEcmaから非推奨と言われてるのに未だにvar使わなければいけない理由ってある?
今後var使ってる人見たら問答無用で勉強しない人と判断しても良い?

849:デフォルトの名無しさん
23/05/23 20:57:14.94 PscArQu/0.net
キモ

850:デフォルトの名無しさん
23/05/23 22:34:28.22 y7+F4Fx6M.net
>>833
>例えば関数実行後に初期化してもホイスティングで勝手にundefiedが代入される
これいろいろ間違ってる
>未だにvar使わなければいけない理由ってある?
REPLで繰り返しコードブロックを実行したい場合なんかにvar使う
あとはブラウザ以外の環境でES3しか動かない環境とかね
>今後var使ってる人見たら問答無用で勉強しない人と判断しても良い?
良いと思うけど君もそっち側に片足突っ込んでるから気をつけて

851:デフォルトの名無しさん
23/05/24 10:07:05.19 qaFXRxUx0.net
スコープの基本だね
レキシカルなのかパラメーターなのか
DOMをいじるとみんな参照になるし変数大切ね

852:デフォルトの名無しさん
23/05/24 10:45:52.94 R9+x876F0.net
匿名イベントを削除する方法って無い?
ググりまくっても全く見当たらんから仕方ないのでElement.prototype.addEventListenerフックしてフィルタしてるんだけど非常に遠回りな事してる気がしてならない

853:デフォルトの名無しさん
23/05/24 11:04:01.62 CrZEaXEyM.net
>>837
イベントリスナーへの参照を保持してないと
removeEventListenerは使えない
あとはAbortSignalを使う方法がある
MDNのaddEventListener辺りに全部書いてる

854:デフォルトの名無しさん
23/05/25 06:53:07.70 djzVD0JU0.net
くそ素人で申し訳ない
ブックマークレットでCookieを編集する時に有効期限も同時に編集したいのだけれど
どうしたらいいのだろうか
元々は
javascript:document.cookie=%22ipb_member_id=〇〇%22;document.cookie=%22ipb_pass_hash=〇〇%22;
って感じなのだけれど1日くらいしたらすぐ消えてしまう


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch