+ JavaScript の質問用スレッド vol.123 + [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2017/04/02(日) 23:30:38.56ID:Qcd0Qmy10
JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-6のテンプレを読んだ上で質問してください。次スレは>>950>>2のテンプレ案(本スレで改善案があれば考慮)を元に立ててください

■質問を書く上で
(1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
  (ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。
(4) 常に自発的に調べる心構えを持ってください。
  具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
  わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
  ※必ず「問題の事象が再現されること」を確認してください。
   必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は http://validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。>>2の質問テンプレートを活用してみてください。
(9) ライブラリ関連の質問は禁止です。関連スレにあるライブラリ質問スレで質問して下さい。
(10) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。

※前スレ
+ JavaScript の質問用スレッド vol.122 +
http://echo.2ch.net/test/read.cgi/tech/1472426483/
VIPQ2_EXTDAT: checked:vvvvvv:1000:512:----: EXT was configured
2020/12/05(土) 09:52:09.52ID:7XRe2Ndx0
>>370
把握した

>>367
File APIを使えば良い
https://developer.mozilla.org/ja/docs/Web/API/File/Using_files_from_web_applications
https://triple-underscore.github.io/File_API-ja.html
2020/12/05(土) 12:30:15.84ID:wSoVmOU1d
>>371

ありがとうございます。
これでフルパスを取得できるんですね。
2020/12/05(土) 13:25:14.38ID:r/OmkE6S0
フルパスは取れないファイルが読めるだけ
374367 (スップ Sdbf-sakO [1.75.0.54])
垢版 |
2020/12/05(土) 18:02:57.10ID:wSoVmOU1d
>>373

すみません。
ローカルファイルで読む為にフルパスが必要なんです。セキュリティの問題で取りにくいのは知ってます。それで
>>367
に書いた質問をしたのです。
よろしくお願いいたします。
2020/12/05(土) 18:22:16.72ID:wSoVmOU1d
補足

すみません。
サブ画面ではファイルパスの設定だけ。
メイン画面ではじめて、サブ画面で設定したファイルを読み込むという事をしたいのですが、無理なのでしょうか?
よろしくお願いいたします。
2020/12/05(土) 20:51:52.66ID:uqDUGTNRM
> セキュリティの問題で取りにくいのは知ってます。

ぜんぜん知ってない。知ったかするな。
取り「にくい」だけで頑張れば取れるのなら何のセキュリティ対策にもならないだろ。
2020/12/05(土) 21:00:16.20ID:BzIEWbaf0
フルパスがあればローカルファイルが読める環境というのがよくわからんがそれならElectronとか使えばいいんでねよくわからんが
2020/12/05(土) 21:12:05.00ID:3OUqO/Qz0
ブラウザ内のHTML から、ローカルPC 内の情報が取れるのか?

Node.js みたいなサーバーを立てていないと無理なのでは?
Electron も内部で、Node.jsを使っているし
2020/12/05(土) 21:32:44.16ID:wSoVmOU1d
>>376

すみません。出来ないんですね。
設計者はサブ画面でファイル選択ダイアログを使用してexcelファイルを選択して、メイン画面でexcelファイルを取り込む事をやりたいんでしょうが、無理なんですね。設計者に言います。

それにしても、
POI技術で
https://blog.java-reference.com/poi-read-excel/
最初に
is = new FileInputStream("D:sample.xlsx");
パスを指定してますが、これは一般的には固定のローカルファイルパスを指定するもんなんですね。

>>377
ありがとうございます。調べてみます。
2020/12/05(土) 21:36:30.80ID:r/OmkE6S0
javascriptじゃないじゃん
381デフォルトの名無しさん (ワッチョイ 47f2-oX+r [153.232.6.174])
垢版 |
2020/12/05(土) 21:37:30.98ID:ryDIbbB50
>>365
返答ありがとうございます、仕様書の様な書籍とはどんなものでしょうか?、目指すところは現在webコーダーなのですが、JavaScriptでフロントエンドやサーバーサイド開発が出来る様になりたいです

>>368
「スラスラ読める JavaScriptふりがなプログラミング」が正式な書籍名でした、すみません


>>366
なるほどTypeScriptですか、やってみます
2020/12/05(土) 23:22:08.87ID:7XRe2Ndx0
>>374
ファイル内容読むのにフルパスは必要ない

>>375
フルパスを受け渡す必要はない
ファイル内容を渡せばいい
https://developer.mozilla.org/ja/docs/Web/API/Window/postMessage
2020/12/06(日) 10:25:22.76ID:odok9c0Cd
>>382

ありがとうございます。内容はこれで渡せるんですね。
フルパスは取り扱えないんですね。

javascriptとは関係ないですが、フルパスを要求するJAVA POIは使えないので困ってます。こういうjavascriptとサーバー側処理を含んだ質問はどこですれば良いのでしょうか?
2020/12/06(日) 10:36:59.07ID:zDpqJVzS0
>>383
> フルパスを要求するJAVA POIは使えないので困ってます。

何が問題なのか、さっぱりわからん
状況を過不足なく伝える技術を身につけろ

フルパス要求する端末にJavaをインストールしえ取れないのか?
Javaの問題はJavaスレで解決すれば良い
2020/12/06(日) 11:49:41.53ID:5/KOVLSv0
最初の>>367はブラウザ上の処理だと思うが、Javaをどこで動かしたいと言っているんだろう?
クライアントからアップロードしたファイルをサーバー側で処理する話かね?
2020/12/06(日) 14:13:40.86ID:odok9c0Cd
皆さん、javascriptだけでないレス違いの質問に回答ありがとうございます。

やりたいことは以下です。
1.選択したローカルのexcelファイルをクライアントからサーバーにアップロードする事はしたくない。
2.excelファイルから必要な情報を抜き出してそれのみをDBサーバーに登録したい。
2020/12/06(日) 14:47:02.74ID:O4KrEoM80
情報小出しで全体像が分からんけど
sheetjsなりで解析してから送りゃエエんちゃう
2020/12/06(日) 16:49:56.97ID:atqZF9NJ0
Ruby on Rails の、SQLite3 などのデータベース(DB)を使えば?

普通に、Rails プロジェクトの開発環境を作れば、
バックエンドのPuma サーバー・DBも、
フロントエンドのブラウザ、HTML, CSS, JavaScript も、ローカルPC 内にある

Node.js サーバーと、Chromium ブラウザを含む、Electron と同じ
2020/12/06(日) 17:23:44.10ID:I5tPmPco0
>>387
これだな
>>388
死ね
2020/12/06(日) 19:31:15.25ID:qbV+R5u90
>>386
めちゃ普通のしょり
2020/12/06(日) 23:31:54.81ID:zDpqJVzS0
>>386
サーバにアップロードしたくないのなら、Java POIはローカルにインストールされているんだよな?
2020/12/07(月) 08:15:51.20ID:ytf7dk5Ud
皆さんレスありがとうございます。

sheetjsを調べてみます。
Java poiはインストールされています。
2020/12/07(月) 10:06:30.93ID:dnWGY9bnr
益々謎が深まるばかりだな
だったらブラウザなんて使わず操作画面から通信まで全部Javaで作ればいいのに
2020/12/07(月) 17:23:01.27ID:s3DToMe4d
すでに使われているwebシステムの回収で、ボタンを押したら、ローカルexcelファイルのファイル選択ダイアログを表示して選択する。
メイン画面で登録を押したら、excelファイルから必要な情報を取り込んでDBに登録する機能追加なんです。
sheetjsでやることに決めました。
後、画像もファイル選択ダイアログでよみこんで、リンクで表示できるようにする。登録で初めてサーバーにアップロードするという機能追加です。
395デフォルトの名無しさん (ワッチョイ ee7b-y216 [153.189.240.38])
垢版 |
2020/12/22(火) 13:54:36.05ID:BKKJJQMZ0
http://s.kota2.net/1608612653.png

画像の様なグリッドの中でA,Bなどの矩形の面積が一番多く含まれる
グリッド(赤色部分)の座標を得たいのですが、どのように考えたらよいのでしょう?
この手の考え方は皆目わかりません。
2020/12/22(火) 14:42:45.10ID:4jX11jcP0
矩形の中心点が含まれるグリッドを計算しろ
397395 (ワッチョイ ee7b-y216 [153.189.240.38])
垢版 |
2020/12/22(火) 14:48:28.47ID:BKKJJQMZ0
なるほど。ありがとうございます。
それで試してみます。
2020/12/23(水) 02:46:19.78ID:qoTDedlh
templateタグをcloneしてすぐそれにidを追加したいんすけど
なんか無理っぽいですね??
appendした後にその要素を特定する作業(追加した最後の要素を見つける)をしてから
その要素を改めて取得してから、idを追加することはできるみたいですけど
どうにかなりませんかね
399398 (スプッッ Sdbf-JkJa [1.75.229.205])
垢版 |
2021/01/05(火) 07:55:22.65ID:RngV7BRKd
初見失礼します。

私は今、スマホのメモ帳系のアプリでjavascriptを勉強しています。

それなりに行数増えてきたので、そろそろ外部JSファイルからの読み込みに手をつけてみようと思い、
いろいろなサイトを見ながら四苦八苦していたのですが、殆ど上手く行きません。

何故か唯一、test.jsという名前のファイルだけ正常に開けているのが現状です。
そのファイルの名前に、2とかつけると読み込まれなくなります。

test.jsは何か特別な機能を持ったファイルなのでしょうか?

また、外部jsファイルを普通に読み込めない原因について、見当のつくことがあったら教えて貰いたいです。

よろしくお願いします。
400399 (スプッッ Sdbf-JkJa [1.75.229.205])
垢版 |
2021/01/05(火) 07:56:15.13ID:RngV7BRKd
さっきの名前欄のレス番間違えました。
2021/01/05(火) 12:18:47.00ID:zD1ciQHW0
この板よりも、web制作管理板の方へ書き込んで、聞いて下さい!
この板のスレは、一時的に作られたものなので

JSFiddle のサイトなどで、コーディングすれば?

基本、HTML, CSS, JavaScript の3つのファイルが必要です

たぶん、何かのファイルに、test.jsを読み込むように書かれているだけでしょう
402399 (スプッッ Sdbf-JkJa [1.75.196.4])
垢版 |
2021/01/05(火) 14:14:30.47ID:9ncSzFMad
>>401
ありがとうございます。

また色々と検索、勉強してみます。
2021/01/05(火) 14:40:22.86ID:tS+yAQzda
>>399
どういうエラーメッセージが出ているの?
404デフォルトの名無しさん (ブーイモ MM0f-iKFX [202.214.167.2])
垢版 |
2021/01/05(火) 14:43:42.88ID:Uu3wwMSXM
>>403
ディスプレイに「エライこっちゃ」と表示されます
405デフォルトの名無しさん (ワッチョイ efad-rl6H [119.175.26.66])
垢版 |
2021/01/05(火) 16:55:55.29ID:S6fGmzIM0
>>399
安くてもいいから、とりあえずPCとかMacとか呼ばれている電子計算システムを購入したほうがええで。
JAVA Script学ぶのはそのあとでいい。
2021/01/05(火) 17:01:53.12ID:S6fGmzIM0
そしてGoogleの提供してるビジュアルプログラミング環境
現在はJAVA SCRIPTでコードジェネレート出来る。
https://developers.google.com/blockly/
2021/01/26(火) 16:31:42.32ID:pYM5EHna0
modalってもしかしてjqueryのほうがVueより全然簡単?
Vueだとよくわからんエラーばっかり出るわ
2021/02/14(日) 05:19:12.94ID:+oGfnxrkM
オフショアの人らが全く同じ関数を1つの.jsの中で3回も書いてた…
動いてるし俺の担当じゃないから触らなかったけど
2021/03/02(火) 05:22:50.76ID:LrhU88Z30
Adobe製品がこれで動作するから使い始めた
410デフォルトの名無しさん (ブーイモ MMef-7dEe [210.138.178.203])
垢版 |
2021/03/02(火) 20:14:12.81ID:TGKntu6+M
>>409
PhotoShopも?
2021/03/03(水) 10:06:47.42ID:Jucxwhrg0
全機能を制御できるわけではないけど、
PhotoshopでもJavaScript(extend script)は使えるよ。
412デフォルトの名無しさん (ワッチョイ 9a55-7dEe [211.120.131.250])
垢版 |
2021/03/03(水) 10:51:04.90ID:H0i/cbqk0
>>411
よっしゃ!
で、なにができますの?
413デフォルトの名無しさん (ブーイモ MM86-7dEe [163.49.202.155])
垢版 |
2021/03/03(水) 10:51:27.69ID:D2xhgaADM
>>411
よっしゃ!
で、なにができますの?
2021/03/04(木) 18:56:07.87ID:h0znVjIN0
>>410
もちろん
https://www.adobe.com/devnet/photoshop/scripting.html
415デフォルトの名無しさん (スッップ Sd03-7o5G [49.98.218.110])
垢版 |
2021/03/12(金) 15:48:21.50ID:LA00op8vd
一回躓くと次の一歩踏み出すのが困難なのは何でも同じか〜とか考えながら勉強の日々
2021/03/16(火) 09:49:45.28ID:cgV0lGB90
javascritpは文法がしっかりしてないから
最初に学ぶには非推奨だね
学習体系がしっかりし参考情報が豊富な言語から始めたほうがいい
2021/03/16(火) 19:45:10.52ID:1XRg7m9v0
>>416
どこがしっかりしてない?
418デフォルトの名無しさん (ブーイモ MMe1-tSj+ [210.138.176.141])
垢版 |
2021/03/16(火) 20:15:20.99ID:Z8nieuaQM
>>417
変数に関数が代入できること
2021/03/16(火) 20:32:36.45ID:KskiDkBIr
>>418
第一級関数と文法の関係性は?
2021/03/16(火) 20:55:27.51ID:A0PxCKQ0a
中途半端な変数宣言がちょっとね
整数とちゃんと宣言するか
まったく宣言しないかどちらかにしてほしかった
2021/03/16(火) 20:58:41.67ID:FsMQS6uyM
その基準で除外したらモダン言語ほぼ全滅じゃね
2021/03/16(火) 20:59:24.04ID:FsMQS6uyM
>>421>>418
423デフォルトの名無しさん (アウアウエー Sa93-P18s [111.239.173.204])
垢版 |
2021/03/16(火) 21:29:17.58ID:fMHJVTaAa
JSXっってbabelで変換しないとnodeで動かんのか?
424デフォルトの名無しさん (ブーイモ MMe1-tSj+ [210.138.176.141])
垢版 |
2021/03/16(火) 22:17:20.61ID:Z8nieuaQM
関数の引数に関数というのがあるけど
その引数の関数の中からは外のすべての変数にアクセスできるの?

例は
something.addEventListener(function(){
この中から外の変数はすべて見えるのか
});
2021/03/16(火) 22:24:28.16ID:vnvvoE6k0
>>421-422
だよね

>>418
お勧めの言語は何?
426デフォルトの名無しさん (ブーイモ MMe1-tSj+ [210.138.176.141])
垢版 |
2021/03/16(火) 23:07:50.72ID:Z8nieuaQM
>>425
Javaだ
2021/03/16(火) 23:33:01.12ID:J1HBzpcA0
すまん、変数に関数を代入できちゃ初学者に向いてない理由がわからんのだが
2021/03/16(火) 23:51:36.72ID:vnvvoE6k0
>>426
Javaも第一級関数あるから>>418の理由でお勧め出来ないはずでは?
https://qiita.com/YutaKase6/items/2ff6cba4b059dde92b8b
2021/03/16(火) 23:55:56.03ID:vnvvoE6k0
>>428は間違いなので忘れて
お勧めというかJavaしか知らないから他言語に慣れてないだけなんじゃないの?
2021/03/26(金) 19:37:25.16ID:HXfe9mSBa
F12 > Ctrl + Shift + K
以下の二行をコピペして一度に実行後、リンクをクリック

'knar-csed-etad=s&tpircsavaj=k?s/pj.oc.nozama.www//:sptth'
.split('').reverse('').join('')
2021/04/22(木) 13:40:05.75ID:Wc1Mrwyv
document.querySelectorAllの:last-child使えなくなってる??
セレクタでjqueryでいうところの:eq()があればいいのにな
2021/04/22(木) 20:12:48.08ID:8EAXe+l90
:last-childはマッチした中の最後じゃないで?
2021/04/23(金) 05:59:03.22ID:mhaEwNEM0
>>431
[0]を忘れてるのでは?
querySelectorの方が良いと思うけど
434デフォルトの名無しさん (ワッチョイ af69-ZiTH [114.171.63.103])
垢版 |
2021/04/29(木) 08:41:41.15ID:+/R4Bs830
(function aaa(){})のように関数を()で囲むのはどういう意味があるんですか?
435デフォルトの名無しさん (ブーイモ MM87-sqj5 [202.214.231.24])
垢版 |
2021/04/29(木) 09:34:41.24ID:Z1D+EN2jM
>>434
関数が寒くて風邪をひかないように服を着せているんです。
2021/04/29(木) 10:05:07.56ID:BtaOKSdt0
>>434
ここで質問している人は回答を貰っても何故無反応なのですか?
2021/04/29(木) 10:27:52.89ID:RErNGDPY0
IIFE (Immediately Invoked Function Expression; 即時実行関数式) は、
定義されるとすぐに実行される、JavaScript の 関数 です

関数を定義して即実行したい場合、( ) で囲んで、式にする

JS の質問は、web制作管理板の方へ書き込んでください!
この板のスレは、荒らしが出た時に、緊急避難用に作られたものだから
438デフォルトの名無しさん (ワッチョイ af69-ZiTH [114.171.63.103])
垢版 |
2021/04/29(木) 12:23:48.15ID:+/R4Bs830
>>437
どうもどうも
web版のスレは新スレが立ってないのでこっちに書いてみた
439デフォルトの名無しさん (ササクッテロラ Spe5-5up0 [126.166.46.121])
垢版 |
2021/05/03(月) 00:14:59.29ID:8d3P1jQsp
仕事でWebアプリケーションを作ってる方にお聞きしたいんですが、
jsやcssをいわゆるmin化するのに何使ってます?

Web上のサービスでやるのはセキュリティ的によろしくないのでローカルで完結できるものがあればと思いまして調べたら何個かあるみたいなのですが、主流はどれなのかなと…
2021/05/03(月) 17:20:40.35ID:iRbOallH0
全Rubyistに今すぐ伝えたいwebpackとwebpacker
https://qiita.com/jesus_isao/items/1f519b2c6d53f336cadd

Ruby on Rails では、この2つを使っているらしい

webpacker の内部のpackage.json

"mini-css-extract-plugin": "^1.0.0",
"terser-webpack-plugin": "^4.0.0"

この2つは、webpack のサイトにも載ってる
https://webpack.js.org/plugins/
441デフォルトの名無しさん (ワッチョイ 8549-DjaX [114.160.215.18])
垢版 |
2021/05/07(金) 11:11:04.70ID:37C3PSFQ0
質問です。

下記みたいに複数の配列の各要素を合算した配列を作成するために、
スマートなやりかたはありますでしょうか。

function sumItems(hogearray, fugaarray){
let len = hogearray.length;
let sumarray = [];
for (var i = 0; i < len; i++) {
sumarray.push(hogearray[i] + fugaarray[i]);
}
return sumarray;
}

let arr1 = [1, 2, 3, 4];
let arr2 = [4, 5, 6, 7];

console.log(sumItems(arr1, arr2));
→(4)?[5, 7, 9, 11]

上記のsumItemsをもうちょっと賢く行いたいです。
lodashもざっくり見たのですが無さそうなので・・・。
(本当に欲しいものはこのような配列を不特定多数渡して合算した配列を作りたいです。
 ChartJsの積み上げグラフで、合計の線グラフを差し込むのにあればいいなと思っています)
2021/05/07(金) 12:18:29.36ID:wve6cwVf0
>>441
for使うコードとしては十分にスマートだと思うが…
関数型がスマート打と思うならArray#mapとか
2021/05/07(金) 14:03:34.51ID:37C3PSFQ0
>>442
なるほど!Array.mapにindex使えばよかったんですね!
これで出来ました!(newarrのところ)

function sumItems(hogearray, fugaarray){
let len = hogearray.length;
let sumarray = [];
for (var i = 0; i < len; i++) {
sumarray.push(hogearray[i] + fugaarray[i]);
}
return sumarray;
}

let arr1 = [1, 2, 3, 4];
let arr2 = [4, 5, 6, 7];

let newarr = arr1.map((value, index) => {
return value + arr2[index]
});

console.log(sumItems(arr1, arr2));
console.log(newarr);


(4)?[5, 7, 9, 11]
(4)?[5, 7, 9, 11]

ありがとうございました!
2021/05/07(金) 14:50:50.30ID:KJXYv0kP0
無理に関数型で書くのはどうかと思う
↑で十分
2021/05/07(金) 21:41:50.48ID:wve6cwVf0
>>444
スマートというふわふわした理由でfor文を毛嫌いしないで欲しいとは思う
2021/05/07(金) 22:28:49.44ID:Z7WMK8Ny0
Ruby では、zip で、

pp result = [1,2,3].zip( [4,5,6], [7,8,9] ).map( &:sum )

出力
[12, 15, 18]
2021/05/07(金) 22:34:04.42ID:Z7WMK8Ny0
Lodash にも、zip ある

_.zip( ['a', 'b'], [1, 2], [true, false] );

// [ ['a', 1, true], ['b', 2, false] ]
2021/05/08(土) 08:52:00.58ID:7rFmOzwXM
極論だけどあんまり内包表記とかラムダ式とか関数型的な書き方ばかりしてるとあの人のコードは短いけど読みにくいから一緒に仕事したくないって言われるぞ
2021/05/08(土) 19:17:06.73ID:WfIS/Rbs0
var data_array = [];

〜いろいろと処理〜

このとき、処理に分岐によって、配列を空にしたときって
data_array.splice(0);
っとしているのですが、配列を空にするなら
data_array = []の方がいいのでしょうか?
2021/05/08(土) 20:14:59.28ID:S9UZYXd4F
data_array.length = 0;
451デフォルトの名無しさん (ワッチョイ 7d02-dxvU [106.167.62.121])
垢版 |
2021/05/10(月) 01:09:13.09ID:+rwW6yZ/0
https://jsfiddle.net/s1awpc0b/

すみません、JS、jQuery初心者なのですが質問させてください。
「リストの中の文字をホバーしたら、タイトル内のテキストがその文字列に置き換わる」
という機能を実装したいと考えております。

しかし、実際にやってみると、何故か最初に一回変わるだけで他のリストにホバーしても
最初と同じ文字列が出てきてしまうのと、ホバーを外した際にタイトル内のテキストを
元の文字に戻す方法が分からず、困っております・・・

この場合、有効な手段などあれば教えて下さい。よろしくお願いします
2021/05/10(月) 01:32:31.24ID:J1VXMlcp0
.parent(ttl)ってbodyを指してるからじゃないの
jqueryは知らんからどう置き換えたらいいかは分からんけど
2021/05/10(月) 02:00:41.51ID:KPRKVCIQ0
ttl.find('p').text(navtxt);
2021/05/10(月) 23:59:24.06ID:ViCp850r0
const navtxt = $(this).find('p').text();

find() メソッドは、提供されたテスト関数を満たす配列内の、最初の要素 の 値 を返します。
最初の要素だから、p が複数あるなら、別々に指定しないといけない

テスト1 のp
テスト2のp
テスト3のp

個別に、クラスか何かを付ければ?
455デフォルトの名無しさん (ワッチョイ 79ca-TEF3 [36.3.90.170])
垢版 |
2021/05/11(火) 02:35:02.21ID:x0DsNnEv0
var l = data_array.length;
if (l > 51) {
l = 50;
}
for (var i3 = 0; i3 < l; i3 += 1) {〜略〜}

なんか、書き方がダサい気がする、かっこよくて見やすい書き方
をご教授願います。
2021/05/11(火) 02:53:40.06ID:PayOhuVJ0
const l = Math.min(data_array.length, 50)
for(let i3 = 0; i3 < l; i3++){}

変数名がダサいのは直してない
457デフォルトの名無しさん (ワッチョイ 79ca-TEF3 [36.3.90.170])
垢版 |
2021/05/11(火) 03:24:41.76ID:x0DsNnEv0
>>456
早速の回答、ありがとうございます。
変数名や関数名の付け方がよくないのは
上司によく言われますが、直しません。
2021/05/11(火) 03:50:48.88ID:62zfmCQO0
Ruby なら、Range で、0以上・len未満

( 0...len ).each { |index| p index }

出力
0
1
2
2021/05/11(火) 06:41:38.89ID:OOK6Bznl0
>>456
l=51の時、>>455と結果が違う
460デフォルトの名無しさん (ワッチョイ 79ca-TEF3 [36.3.90.170])
垢版 |
2021/05/11(火) 13:35:37.63ID:x0DsNnEv0
>>459
すいません。元のコードが間違えていました。
lに入る値の最大値が50が正しいです。
461デフォルトの名無しさん (ワッチョイ 8569-dxvU [114.171.63.103])
垢版 |
2021/05/13(木) 23:48:22.88ID:VBQJX34F0
複数の画像を全て読み込んでからfunc1を実行したい場合、このような書き方で間違いがあったら教えてください
var img_obj_list = [];
var img_file_list = ["./test1.png","./test2.png","./test3.png"];

for(let n=1;n<=3;n++){
img_obj_list[n-1] = new Image();
img_obj_list[n-1].src = img_file_list[n-1];
}

var img_load_count = 0;

for(let n=1;n<=3;n++){

img_obj_list[n-1].onload = function(){

img_load_count++;

if(img_load_count == 3){

func1();

}
}
}

function func1(){alert("");}
2021/05/14(金) 00:39:39.82ID:MdZ1BMbg0
細かくは確認してないけどonloadはpromiseでwrapするといい
2021/05/14(金) 00:40:22.23ID:QMgVBpCt0
画像の読み込み完了は、非同期処理か。
そりゃ難しい

async/await とか使えないのか?
2021/05/14(金) 02:11:40.87ID:iF93BKYb0
>>461
Promise.allを使うか、handleEventを持つオブジェクトにload回数を埋め込んで管理すれば良い
465デフォルトの名無しさん (ワッチョイ d669-f03V [114.171.63.103])
垢版 |
2021/05/14(金) 07:15:30.72ID:GbcY98b30
promiseっていうやつですか
調べてみます
466デフォルトの名無しさん (ワッチョイ d669-f03V [114.171.63.103])
垢版 |
2021/05/15(土) 08:00:49.27ID:cqN6MRht0
aaa.pngという幅100ピクセル、高さ100ピクセルの画像があるとして

<img src="aaa.png" id="aaa">

var elm = document.getElementById("aaa");
var rect = getBoundingClientRect();
としたら
rect.leftが8でrect.rightが108でした。

これって幅が101になるのでおかしくないですか?
rect.rightは107にならなければならないのに。
467デフォルトの名無しさん (ワッチョイ d669-f03V [114.171.63.103])
垢版 |
2021/05/15(土) 08:24:12.13ID:cqN6MRht0
訂正elm.getBoundingClientRectです
2021/05/16(日) 00:04:05.86ID:R/k6sd0e0
正直言って、

(a)=>{
2021/05/16(日) 00:07:02.23ID:R/k6sd0e0
間違いw

正直言って

(a)=>{
 bar(a);
}

を引数に渡すのって可読性どうなんだろう?数学的には
美しいのかもしれないけど、世の中の大部分のプログラムは
そういうところまで行ってないプログラマが組んでるわけで。

そのうち、「大多数のプログラマにとって理解しやすいかどうか」理論
みたいのが出てこないかと…。
2021/05/16(日) 07:43:31.39ID:dwn8WkYe0
「大多数のプログラマ」じゃなくて「一年後の自分」で考えればいい
一年経ったら成長するだろ?その時に自分が辛くなるようなコードを書きたいと思うか?

プログラマを一年程度で使い捨てにしているところなら、
そりゃ一年以内の知識だけでやりゃあいいだろうさ
一年後にはプログラマをやってないわけだからな

成長するたびに自分が苦しくなるようなコードを
書き続けなければいけないのは地獄だってわかるかい?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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