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
+ JavaScript の質問用スレッド vol.123 + [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ efff-U/Pn [183.76.238.232])
2017/04/02(日) 23:30:38.56ID:Qcd0Qmy10259デフォルトの名無しさん (ワッチョイ 0bda-VfcI [153.144.243.166])
2020/08/19(水) 03:50:29.18ID:5OSwc30i0 >>258
hoge.split(/(【[^】]*】)/).filter(Boolean)
hoge.split(/(【[^】]*】)/).filter(Boolean)
260デフォルトの名無しさん (ワッチョイ 0bda-VfcI [153.144.243.166])
2020/08/19(水) 03:58:30.68ID:5OSwc30i0 ggggが要らなければ要素数が3の倍数になるように配列を切り詰めて
261デフォルトの名無しさん (オッペケ Srb1-P3ox [126.179.253.120])
2020/08/19(水) 08:10:31.51ID:VKqi5gMNr >>258
hoge.match(/【[^】]*】|[^【】]+/)
hoge.match(/【[^】]*】|[^【】]+/)
262261 (オッペケ Srb1-P3ox [126.179.253.120])
2020/08/19(水) 08:16:32.46ID:VKqi5gMNr >>258
hoge.match(/【[^】]*】|[^【】]+/g); // gフラグ付け漏れ修正
hoge.match(/【[^】]*】|[^【】]+/g); // gフラグ付け漏れ修正
263デフォルトの名無しさん (ワッチョイ dd5f-N59K [106.72.170.129])
2020/08/20(木) 11:15:49.95ID:N3Xth98n0264デフォルトの名無しさん (ワッチョイ d92d-C4/F [220.100.20.82])
2020/09/14(月) 13:19:22.86ID:tp+/+C8Z0 この方法だとSJISの機種依存文字(崎の大じゃなくて立の文字)が文字化けしないんですが
reader.readAsText(file, "shift-jis");
ここのサンプル通りに
http://polygonplanet.github.io/encoding.js/tests/detect-file-encoding.html
reader.readAsArrayBuffer(file);
var unicodeString = Encoding.convert(codes, {to: 'unicode', from: 'SJIS',type: 'string'});
としても機種依存文字が化けてしまいます
そういうもんでしょうか?
reader.readAsText(file, "shift-jis");
ここのサンプル通りに
http://polygonplanet.github.io/encoding.js/tests/detect-file-encoding.html
reader.readAsArrayBuffer(file);
var unicodeString = Encoding.convert(codes, {to: 'unicode', from: 'SJIS',type: 'string'});
としても機種依存文字が化けてしまいます
そういうもんでしょうか?
265デフォルトの名無しさん (ワッチョイ 8b61-pVuC [153.160.139.47])
2020/09/14(月) 15:14:02.04ID:zNKtsudb0 Encoding.jsはブラウザが持ってる変換ではなく自前の変換テーブル使ってやってるのでそういうもんなんだろうけど
IBMのFAB1はUNKNOWN、NECのED95からは変換できるので必要ならgithubで要望出してみれば?
IBMのFAB1はUNKNOWN、NECのED95からは変換できるので必要ならgithubで要望出してみれば?
266デフォルトの名無しさん (ワッチョイ d92d-C4/F [220.100.20.82])
2020/09/14(月) 16:05:43.73ID:tp+/+C8Z0267デフォルトの名無しさん (オッペケ Sr61-lMKa [126.212.166.165])
2020/09/17(木) 20:09:46.76ID:QWldExKKr 下記のコードでクリックした要素のidを取得したいのですが、取得できません。
$("li").on('click', function(e){
let k = $(this).attr('id');
});
取得する要素はjavascriptで動的にデータベースから値をとってきて表示しているのですが、
ページリロードした際にある要素しか上記のコードは有効でない、など、何か動かない条件などがあるのでしょうか。
よろしくお願いいたします。
$("li").on('click', function(e){
let k = $(this).attr('id');
});
取得する要素はjavascriptで動的にデータベースから値をとってきて表示しているのですが、
ページリロードした際にある要素しか上記のコードは有効でない、など、何か動かない条件などがあるのでしょうか。
よろしくお願いいたします。
268デフォルトの名無しさん (オッペケ Sr61-B1ce [126.255.42.181])
2020/09/17(木) 20:20:53.83ID:fy5bwxWur 取得できないとは具体的にどういう状況を指すのか説明orコードが足らん
あとletで宣言したら外で使えないけどそれで良いの?
あとletで宣言したら外で使えないけどそれで良いの?
269デフォルトの名無しさん (ワッチョイ 7d2c-qc2B [114.144.98.145])
2020/09/17(木) 20:27:23.84ID:NHfa1bvj0 li が1つだけなら、取得できた。
2つ以上あったら、知らないけど
<ul>
<li id="abc">リスト 1</li>
</ul>
$( "li" ).on( 'click', function( e ) {
let k = $( this ).attr( 'id' );
console.log( k )
} );
Javascript, jQuery の質問は、web制作管理板の方へ書き込んでください!
この板のスレは、荒らしが出たときに、一時的に使っていたものなので
2つ以上あったら、知らないけど
<ul>
<li id="abc">リスト 1</li>
</ul>
$( "li" ).on( 'click', function( e ) {
let k = $( this ).attr( 'id' );
console.log( k )
} );
Javascript, jQuery の質問は、web制作管理板の方へ書き込んでください!
この板のスレは、荒らしが出たときに、一時的に使っていたものなので
270269 (ワッチョイ 7d2c-qc2B [114.144.98.145])
2020/09/17(木) 20:30:39.20ID:NHfa1bvj0 li が2つ以上あっても、クリックしたものが取得された
正常に動く
正常に動く
271デフォルトの名無しさん (ワッチョイ cbda-UtS8 [153.144.243.166])
2020/09/17(木) 20:36:46.60ID:gD3Eguk90 動的に追加された要素に対して適用できてないとかそんなオチだろ
272デフォルトの名無しさん (JP 0H93-+fJl [103.90.19.193])
2020/09/18(金) 09:35:45.84ID:WV/PPbI+H 取得できそうなもんだけどなぁ
エスパー過ぎてわからん
エスパー過ぎてわからん
273デフォルトの名無しさん (ワッチョイ b3f1-Kk5w [180.221.240.118])
2020/10/01(木) 18:40:48.93ID:3EMbehP20 enchant.jsでゲームを作り
自分のレンタルwebサーバにUPしたら
ブラウザで「NET::ERR_CERT_AUTHORITY_INVALID」のエラーが出て
他の誰にもゲームを見てもらえません。
なにがどうなっているのでしょうか?
自分のレンタルwebサーバにUPしたら
ブラウザで「NET::ERR_CERT_AUTHORITY_INVALID」のエラーが出て
他の誰にもゲームを見てもらえません。
なにがどうなっているのでしょうか?
274デフォルトの名無しさん (オッペケ Sr77-N6vg [126.204.169.179])
2020/10/01(木) 18:58:58.89ID:by80Zctlr 明らかにサーバー(SSL証明書エラー)の問題
此処で情報を詳しく出しても良いけど
当該レンサバのスレで質問する方が近道だと思う
此処で情報を詳しく出しても良いけど
当該レンサバのスレで質問する方が近道だと思う
275デフォルトの名無しさん (ワッチョイ b3f1-buUt [180.221.240.118])
2020/10/01(木) 19:08:37.71ID:3EMbehP20 >>274
XSERVERでございます
XSERVERでございます
276デフォルトの名無しさん (ワッチョイ b3f1-buUt [180.221.240.118])
2020/10/01(木) 19:09:26.51ID:3EMbehP20 SSLとか証明書とか意味がさっぱりわからないのですが
なにがどうなっているのでしょうか?
なにがどうなっているのでしょうか?
277デフォルトの名無しさん (ワンミングク MMdf-bdbF [153.250.208.212])
2020/10/01(木) 19:12:56.72ID:fSnOANSlM Cloudflareでも通しとけ
278デフォルトの名無しさん (ワッチョイ b3f1-buUt [180.221.240.118])
2020/10/01(木) 19:21:47.87ID:3EMbehP20 Cloudflareとは何じゃ
良い子はそんなの使ってません。
良い子はそんなの使ってません。
279デフォルトの名無しさん (オッペケ Sr77-N6vg [126.204.169.179])
2020/10/01(木) 20:39:45.05ID:by80Zctlr >>276
SSLが分かんないのにURLがhttpsになってたら設定見直せとしか
「独自SSL」とかその辺見たらいいんじゃない
いずれにせよJS関係無いので向こうで聞いてみたら
XSERVER エックスサーバー Part6
https://mevius.5ch.net/test/read.cgi/hosting/1568069691/
SSLが分かんないのにURLがhttpsになってたら設定見直せとしか
「独自SSL」とかその辺見たらいいんじゃない
いずれにせよJS関係無いので向こうで聞いてみたら
XSERVER エックスサーバー Part6
https://mevius.5ch.net/test/read.cgi/hosting/1568069691/
280デフォルトの名無しさん (ワッチョイ 832c-G8Sl [114.144.98.145])
2020/10/01(木) 22:31:33.76ID:theiHz1p0 AWS のS3 とか、知らんのか?w
HTTPS, SSL の証明書とか、システム構築運用の初歩の初歩だがw
無料の証明書、let's encrypt とか
HTTPS, SSL の証明書とか、システム構築運用の初歩の初歩だがw
無料の証明書、let's encrypt とか
281デフォルトの名無しさん (ワッチョイ cfb0-2+Dn [153.164.85.235])
2020/10/03(土) 14:18:04.93ID:l4QjehZB0 https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14232251614?sort=1&page=2
abiko tetuってやつヤバすぎ
abiko tetuってやつヤバすぎ
282デフォルトの名無しさん (ワッチョイ ff7b-yH5j [153.198.55.63])
2020/10/14(水) 10:58:53.79ID:asjsDRkW0 sort関数に追加の引数を渡すことってできますか?
array.sort(mySort())に引数を与えて条件によって処理を変えたいのですが。
普通にmySort()に引数を入れるとソートで使われる引数に値が入ってしまってダメでした。
array.sort(mySort())に引数を与えて条件によって処理を変えたいのですが。
普通にmySort()に引数を入れるとソートで使われる引数に値が入ってしまってダメでした。
283デフォルトの名無しさん (ワッチョイ b78b-VUc9 [210.228.102.1])
2020/10/14(水) 11:29:33.74ID:B+LQat5m0 function mySort(value) {
if(value===1) {
return (a, b) => a-b
} else if (value===2) {
return (a, b) => b-a
}
}
array.sort(mySort(1)) // 昇順
array.sort(mySort(2)) // 降順
if(value===1) {
return (a, b) => a-b
} else if (value===2) {
return (a, b) => b-a
}
}
array.sort(mySort(1)) // 昇順
array.sort(mySort(2)) // 降順
284282 (ワッチョイ ff7b-yH5j [153.198.55.63])
2020/10/14(水) 11:48:53.44ID:asjsDRkW0 ありがとうございます。
新しいjsでは大丈夫でしたが、ES3という超古いバージョンなのです。
書き忘れていました。後出しで申し訳ありません。
(アドビのソフトで使われているjsです)
新しいjsでは大丈夫でしたが、ES3という超古いバージョンなのです。
書き忘れていました。後出しで申し訳ありません。
(アドビのソフトで使われているjsです)
285デフォルトの名無しさん (オッペケ Srcb-Qzhr [126.179.243.62])
2020/10/14(水) 12:41:33.59ID:p6YQijR2r >>284
bindみたいな引数束縛する関数を作る
bindみたいな引数束縛する関数を作る
286デフォルトの名無しさん (オッペケ Srcb-Qzhr [126.179.243.62])
2020/10/14(水) 12:44:22.07ID:p6YQijR2r287282 (ワッチョイ ff7b-yH5j [153.198.55.63])
2020/10/14(水) 13:05:25.23ID:asjsDRkW0 >>285
ちょっと自分のスキルでは難しそうです。
ちょっと自分のスキルでは難しそうです。
288デフォルトの名無しさん (ワッチョイ b72c-F9zC [114.144.98.145])
2020/10/14(水) 13:40:46.13ID:z5Uy/Vd30 Function.prototype.bind()
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Function/bind
bind this か?
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Function/bind
bind this か?
289デフォルトの名無しさん (オッペケ Srcb-D9NN [126.208.250.170])
2020/10/14(水) 13:53:20.67ID:z5/Y8RhDr ソート関数なんて自前で作ればいい
290デフォルトの名無しさん (ワッチョイ ff61-fMdf [153.160.139.47])
2020/10/14(水) 13:58:43.04ID:bGR5EKGW0 ES3だと
return (a, b) => a-b
↓
return function(a, b) { return a - b; };
じゃね?
だいたいsortと比較関数でクロージャにしちゃって引数でなくローカル変数でやっちゃうよね
return (a, b) => a-b
↓
return function(a, b) { return a - b; };
じゃね?
だいたいsortと比較関数でクロージャにしちゃって引数でなくローカル変数でやっちゃうよね
291282 (ワッチョイ ff7b-yH5j [153.198.55.63])
2020/10/14(水) 14:10:27.29ID:asjsDRkW0 returnの挙動はともかく、
mySort(value)自体がES3だとできないのです。(aにvalueが入ってしまう)
とりあえず今はグローバル変数で対応していますが、
引数でやる方法がないのかと思いまして。
mySort(value)自体がES3だとできないのです。(aにvalueが入ってしまう)
とりあえず今はグローバル変数で対応していますが、
引数でやる方法がないのかと思いまして。
292デフォルトの名無しさん (ワッチョイ 97d2-f5T3 [124.103.45.183])
2020/10/14(水) 16:00:56.30ID:zqMcknRo0 比較関数はどうやって指定しているんですか?
293デフォルトの名無しさん (ブーイモ MMcf-geX2 [163.49.200.143])
2020/10/14(水) 17:00:41.74ID:Tfis7AoIM294282 (ワッチョイ ff7b-yH5j [153.198.55.63])
2020/10/14(水) 17:08:39.53ID:asjsDRkW0 >>293
今やってることは大雑把には以下の通りで、
mySortにa,b以外の値cを渡してそれを元に処理を追加したいのですが
cの渡し方がわかりません。
var ary=[10,12,53,41,5,6,];
ary.sort(mySort);
function mySort(a,b){
return a-b;
}
今やってることは大雑把には以下の通りで、
mySortにa,b以外の値cを渡してそれを元に処理を追加したいのですが
cの渡し方がわかりません。
var ary=[10,12,53,41,5,6,];
ary.sort(mySort);
function mySort(a,b){
return a-b;
}
295デフォルトの名無しさん (ワッチョイ b74e-T8Cx [210.138.216.243])
2020/10/14(水) 17:20:07.02ID:Azmo5ss/0 var ary=[10,12,53,41,5,6,];
ary.sort(mySort(-1));
function mySort(c){
return function(a,b){
return c<0 ? a-b : b-a;
};
}
ary.sort(mySort(-1));
function mySort(c){
return function(a,b){
return c<0 ? a-b : b-a;
};
}
296282 (ワッチョイ ff7b-yH5j [153.198.55.63])
2020/10/14(水) 17:28:28.99ID:asjsDRkW0 ありがとうございます。まさに希望どおりです。
こんな書き方もできるんですね。
こんな書き方もできるんですね。
297デフォルトの名無しさん (ワッチョイ b74e-T8Cx [210.138.216.243])
2020/10/14(水) 18:41:11.04ID:Azmo5ss/0 高階関数やクロージャについて調べてみると理解進むよ。
ちなみに今でも全然通用する概念。
ちなみに今でも全然通用する概念。
298デフォルトの名無しさん (アウアウクー MM49-1tAR [36.11.229.191])
2020/10/24(土) 02:35:59.30ID:gS1xqNx8M 質問させてください。
nodejsで line botを作っていて応答文字に改行を入れたいのですが
ダブルクォートで囲った中に”\n”で改行するという仕様のようなのです。
例
return client.replyMessage(ev.replyToken, {
type: "text",
text: “あああ\nいいい”
});
しかし今作っているbotは文字列を変数に格納しており
const aaa = スクレイピングで拾ってきた文字列
const bbb = スクレイピングで拾ってきた文字列
const ccc = aaa + “\n” + bob
return client.replyMessage(ev.replyToken, {
type: "text",
text: ccc
});
では改行されませんでした。
text: `${ccc}` でもダメでした。
\nがそのまま表示されてしまいます。
ダブルクオートで囲い直す方法ってございませんでしょうか?
よろしくお願い致します。
nodejsで line botを作っていて応答文字に改行を入れたいのですが
ダブルクォートで囲った中に”\n”で改行するという仕様のようなのです。
例
return client.replyMessage(ev.replyToken, {
type: "text",
text: “あああ\nいいい”
});
しかし今作っているbotは文字列を変数に格納しており
const aaa = スクレイピングで拾ってきた文字列
const bbb = スクレイピングで拾ってきた文字列
const ccc = aaa + “\n” + bob
return client.replyMessage(ev.replyToken, {
type: "text",
text: ccc
});
では改行されませんでした。
text: `${ccc}` でもダメでした。
\nがそのまま表示されてしまいます。
ダブルクオートで囲い直す方法ってございませんでしょうか?
よろしくお願い致します。
299デフォルトの名無しさん (ブーイモ MMd1-Gto1 [202.214.230.69])
2020/10/24(土) 11:37:48.17ID:4WVjWXseM >>298
wrap: true
wrap: true
300デフォルトの名無しさん (アウアウクー MM49-1tAR [36.11.229.191])
2020/10/24(土) 12:36:00.80ID:gS1xqNx8M301デフォルトの名無しさん (アウアウクー MM49-1tAR [36.11.229.191])
2020/10/24(土) 13:25:10.82ID:gS1xqNx8M すみません。自己解決しました。
\ではなくバックスラッシュでした。
ありがとうございました。
\ではなくバックスラッシュでした。
ありがとうございました。
302デフォルトの名無しさん (ブーイモ MM8b-gqeA [163.49.205.254])
2020/10/24(土) 21:42:06.09ID:6VJCwZcaM そもそも文字列はシングルクオートで囲う癖つけとくと便利だと思う
テンプレート文字列にするのもいいけど
テンプレート文字列にするのもいいけど
303デフォルトの名無しさん (アウアウエー Sa7f-U5Vn [111.239.187.220])
2020/11/08(日) 22:08:22.01ID:EfB5Dlnya requirejsやってるんだけどシェルのexportコマンド的なの無いの?
304デフォルトの名無しさん
2020/11/24(火) 13:11:50.94ID:FWk6XcjL function hoge(){} //引数なし
hoge(a=11,b=33)
名前付き引数を可変的に追加できて
関数hoge側でkey(aとb)名も受け取れるようにしたいんだけど無理?
argumentsはkey名は無視されたし
hoge({a=1,b=3})で関数内でfor key in objみたいにするしかないのかな
hoge(a=11,b=33)
名前付き引数を可変的に追加できて
関数hoge側でkey(aとb)名も受け取れるようにしたいんだけど無理?
argumentsはkey名は無視されたし
hoge({a=1,b=3})で関数内でfor key in objみたいにするしかないのかな
305デフォルトの名無しさん (ワントンキン MM8a-SQf5 [153.250.6.142])
2020/11/24(火) 14:02:04.95ID:cyXA9vgjM function foo(a, b, ...rest)
306デフォルトの名無しさん
2020/11/25(水) 01:19:47.68ID:UPK+j49C >>305
無理でした
無理でした
307デフォルトの名無しさん (ワッチョイ 194e-nRkK [210.138.216.243])
2020/11/25(水) 16:04:16.70ID:zD7zhP2P0 いまいち何がしたいのかよくわかんないけど
function hoge(o = {}){
console.log(Object.keys(o))
}
hoge({a: 1, b: 3})
//=> ["a", "b"]
function hoge(o = {}){
console.log(Object.keys(o))
}
hoge({a: 1, b: 3})
//=> ["a", "b"]
308デフォルトの名無しさん
2020/11/25(水) 16:45:55.85ID:UPK+j49C >>307
端的にいうと
引数は
hoge(x=1,y=2,a="ho",b="ge")
hoge(z=2,x="abc")
みたいに指定できて
{x:1,y:2,a:"ho",b:"ge"}や{z:2,x:"abc"}
みたいに関数で受け取りたい
(もちろんx,yやa,b,cみたいなkey名はこれに限らず)
端的にいうと
引数は
hoge(x=1,y=2,a="ho",b="ge")
hoge(z=2,x="abc")
みたいに指定できて
{x:1,y:2,a:"ho",b:"ge"}や{z:2,x:"abc"}
みたいに関数で受け取りたい
(もちろんx,yやa,b,cみたいなkey名はこれに限らず)
309デフォルトの名無しさん (ワッチョイ ebda-flI+ [153.144.243.166])
2020/11/25(水) 17:12:47.42ID:ulXBn3sm0 JSにそういう記法はないので無理
Pythonを使え
Pythonを使え
310デフォルトの名無しさん (ワッチョイ 194e-nRkK [210.138.216.243])
2020/11/25(水) 17:15:26.00ID:zD7zhP2P0 えっ…じゃあこうだけど??
function hoge(o = {}){
console.log(o)
}
hoge({x: 1, y: 2, a: "ho", b: "ge"})
//=> {x: 1, y: 2, a: "ho", b: "ge"}
function hoge(o = {}){
console.log(o)
}
hoge({x: 1, y: 2, a: "ho", b: "ge"})
//=> {x: 1, y: 2, a: "ho", b: "ge"}
311デフォルトの名無しさん
2020/11/25(水) 17:52:06.24ID:UPK+j49C312デフォルトの名無しさん (ワッチョイ 194e-U2xp [210.138.216.243])
2020/11/25(水) 19:21:16.56ID:zD7zhP2P0 >>311
あーそうゆうことね。
()呼び出しでなくタグ付きテンプレート呼び出し、
eval使っていいなら、
function hoge(s) {
let o={},p=new Proxy(o,{set:(o,p,v)=>(o[p]=v,!0),has:()=>!0});
eval(`with(p){${s[0]}}`)
console.log(o);
}
hoge`x=1,y=2,a="ho",b="ge"`
//=> {x: 1, y: 2, a: "ho", b: "ge"}
あーそうゆうことね。
()呼び出しでなくタグ付きテンプレート呼び出し、
eval使っていいなら、
function hoge(s) {
let o={},p=new Proxy(o,{set:(o,p,v)=>(o[p]=v,!0),has:()=>!0});
eval(`with(p){${s[0]}}`)
console.log(o);
}
hoge`x=1,y=2,a="ho",b="ge"`
//=> {x: 1, y: 2, a: "ho", b: "ge"}
313デフォルトの名無しさん (ワッチョイ 194e-U2xp [210.138.216.243])
2020/11/25(水) 19:29:03.94ID:zD7zhP2P0 hoge`
x = 1,
y = 2,
a = "ho",
b = "ge",
z = x + y,
c = a + b
`
//=> {x: 1, y: 2, a: "ho", b: "ge", z: 3, c: "hoge"}
x = 1,
y = 2,
a = "ho",
b = "ge",
z = x + y,
c = a + b
`
//=> {x: 1, y: 2, a: "ho", b: "ge", z: 3, c: "hoge"}
314デフォルトの名無しさん
2020/11/25(水) 19:36:00.93ID:UPK+j49C315デフォルトの名無しさん (ワッチョイ 33bd-W+Es [133.200.2.96])
2020/11/25(水) 21:38:45.31ID:3CNxpkun0 const hoge = [{id:"xxx",
num:5000},
{id:"yyy",
num:2000},
{id:"zzz",
num:9000},]
こういう配列でnumが一番大きいobjectを取得するシンプルな方法ってありますか?
思いついたのは
const foo = hoge.find((i)=>{
return i.num === Math.max(...hoge.map((v) =>{
return v.num
}))
})
なんですけどこれだけの処理に二重でループ回すのはナンセンスな気がしてしまって・・・
num:5000},
{id:"yyy",
num:2000},
{id:"zzz",
num:9000},]
こういう配列でnumが一番大きいobjectを取得するシンプルな方法ってありますか?
思いついたのは
const foo = hoge.find((i)=>{
return i.num === Math.max(...hoge.map((v) =>{
return v.num
}))
})
なんですけどこれだけの処理に二重でループ回すのはナンセンスな気がしてしまって・・・
316デフォルトの名無しさん (ワッチョイ c101-kvF8 [126.3.57.183])
2020/11/25(水) 21:48:23.27ID:UiakocYp0 >>315
sortかfotEachしたら?
sortかfotEachしたら?
317デフォルトの名無しさん (ワッチョイ c101-kvF8 [126.3.57.183])
2020/11/25(水) 22:03:22.81ID:UiakocYp0318デフォルトの名無しさん (ワッチョイ 33bd-W+Es [133.200.2.96])
2020/11/25(水) 22:12:00.77ID:3CNxpkun0319デフォルトの名無しさん (ワッチョイ 194e-U2xp [210.138.216.243])
2020/11/25(水) 22:14:27.47ID:zD7zhP2P0 const foo = hoge.sort((a, b) => a.num - b.num).pop()
とか
const foo = hoge.sort((a, b) => b.num - a.num)[0]
とか。
しかし両者ともhogeを書き換えてしまうので、
const foo = [...hoge].sort((a, b) => a.num - b.num).pop()
とか
const foo = [...hoge].sort((a, b) => b.num - a.num)[0]
のほうが望みのものかもね。
あとは
const foo = hoge.reduce((acc, r) => r.num > acc.num ? r : acc)
とか。
とか
const foo = hoge.sort((a, b) => b.num - a.num)[0]
とか。
しかし両者ともhogeを書き換えてしまうので、
const foo = [...hoge].sort((a, b) => a.num - b.num).pop()
とか
const foo = [...hoge].sort((a, b) => b.num - a.num)[0]
のほうが望みのものかもね。
あとは
const foo = hoge.reduce((acc, r) => r.num > acc.num ? r : acc)
とか。
320デフォルトの名無しさん (ブーイモ MMeb-/4Ud [163.49.208.217])
2020/11/25(水) 22:26:19.76ID:iWjekW4fM sortしなくていいケースでsortするのは無駄
reduceかfor-ofで
reduceかfor-ofで
321デフォルトの名無しさん (ワッチョイ 194e-U2xp [210.138.216.243])
2020/11/25(水) 22:29:12.37ID:zD7zhP2P0 >>318
> numは存在しない場合もありました
このような後出し要件の場合は、安全なアクセス関数を追加で用意して差し込むのが簡単。
例えば、
const getNumSafe = ({num = -Infinity}) => num
const foo = hoge.reduce((acc, r) => getNumSafe(r) > getNumSafe(acc) ? r : acc)
のように。
> numは存在しない場合もありました
このような後出し要件の場合は、安全なアクセス関数を追加で用意して差し込むのが簡単。
例えば、
const getNumSafe = ({num = -Infinity}) => num
const foo = hoge.reduce((acc, r) => getNumSafe(r) > getNumSafe(acc) ? r : acc)
のように。
322デフォルトの名無しさん (ブーイモ MMeb-/4Ud [163.49.214.133])
2020/11/25(水) 22:30:06.01ID:drNJreauM ライブラリ可ならlodashのmaxBy
323デフォルトの名無しさん (ワッチョイ 33bd-W+Es [133.200.2.96])
2020/11/25(水) 22:50:57.62ID:3CNxpkun0324デフォルトの名無しさん (ワッチョイ 592c-OOND [114.144.98.145])
2020/11/27(金) 01:16:52.95ID:lOUpIwv20 Lodash は多くのライブラリも使っているから、使うべき!
プロジェクトのライブラリの依存関係を検索すると、
多くのライブラリが、Lodash に依存してる
プロジェクトのライブラリの依存関係を検索すると、
多くのライブラリが、Lodash に依存してる
325デフォルトの名無しさん (ワッチョイ 194e-nRkK [210.138.216.243])
2020/11/27(金) 03:15:11.50ID:W+zDVYCR0 Netflixはlodash切って素のJSで書き直したけどな。
326デフォルトの名無しさん (オッペケ Sr1d-kvF8 [126.194.236.168])
2020/11/27(金) 12:17:00.93ID:Syvn71JBr ライブラリが必要な程、複雑な処理ではない気がするけどな
hoge.reduce((max, current) => max < current.num ? cutrent.num : max, -Infinity);
hoge.reduce((max, current) => max < current.num ? cutrent.num : max, -Infinity);
327デフォルトの名無しさん (オッペケ Sr1d-Gu+o [126.157.78.99])
2020/11/27(金) 18:55:39.16ID:gUqD3P5er 使うモジュールだけにしときな
328デフォルトの名無しさん (ワッチョイ 53f0-P4WK [115.65.191.12])
2020/11/30(月) 16:28:41.73ID:gpUfY6cE0 動的型付け言語って本当にわかりづらい
javascriptでオブジェクト指向的なプログラムを組もうと思って
簡単な本でjavascriptを勉強してるんだけど
interfaceないのにどうやってオブジェクト指向的な開発してるんですか?
typescriptしたほうがいいんだろうか?
javascriptでオブジェクト指向的なプログラムを組もうと思って
簡単な本でjavascriptを勉強してるんだけど
interfaceないのにどうやってオブジェクト指向的な開発してるんですか?
typescriptしたほうがいいんだろうか?
329デフォルトの名無しさん (オッペケ Sr1d-HgZM [126.133.242.112])
2020/11/30(月) 16:37:41.46ID:0Mqgtux2r >>328
してください
してください
330デフォルトの名無しさん (オッペケ Sr1d-kvF8 [126.194.236.168])
2020/11/30(月) 19:07:05.83ID:CqWD2gHur >>328
class使って下さい
class使って下さい
331デフォルトの名無しさん (ワッチョイ 1b46-P4WK [111.98.111.65])
2020/11/30(月) 19:08:03.35ID:1U/wXaEH0 >>330
インターフェイスやabstracut使わずにどうやれと
インターフェイスやabstracut使わずにどうやれと
332デフォルトの名無しさん (オッペケ Sr1d-kvF8 [126.194.236.168])
2020/11/30(月) 19:19:23.06ID:CqWD2gHur >>331
あるもので何とかする気のない人にどう答えろと
あるもので何とかする気のない人にどう答えろと
333デフォルトの名無しさん (ワッチョイ 1b46-P4WK [111.98.111.65])
2020/11/30(月) 21:04:19.76ID:1U/wXaEH0 javascriptでオブジェクト指向開発は、今のところは無理ってことですかね?
334デフォルトの名無しさん (ワッチョイ c101-kvF8 [126.3.50.58])
2020/11/30(月) 21:19:10.37ID:4TqWiQB+0 >>333
君にとってはそうだな
君にとってはそうだな
335デフォルトの名無しさん (ワッチョイ 194e-HgZM [210.138.216.243])
2020/11/30(月) 21:50:12.17ID:owcTZSsV0 バカは何使おうが無理
336デフォルトの名無しさん (アウアウカー Sa6d-T9pK [182.251.184.232])
2020/11/30(月) 23:43:04.66ID:TJ10WaD1a 独学におすすめの本はありますか?
プログラム自体はphpの基礎ができる程度です
プログラム自体はphpの基礎ができる程度です
337デフォルトの名無しさん (ワッチョイ 1b46-P4WK [111.98.111.65])
2020/12/01(火) 06:15:24.88ID:Zg5lb2px0 >>334
あなたには出来ると言いたげですね
あなたには出来ると言いたげですね
338デフォルトの名無しさん (オッペケ Sr1d-kvF8 [126.194.236.168])
2020/12/01(火) 08:10:06.86ID:RQP4Xz+Pr >>336
『JavaScript for impatient programmers』
『JavaScript for impatient programmers』
339デフォルトの名無しさん (ワッチョイ 53f0-P4WK [115.65.191.12])
2020/12/01(火) 10:44:14.97ID:L1BkVMXS0 javascriptって面白い挙動するんだね
class s{
constructor(){
this.s1="s1";
let .s2="s2";
alert(); }// ---@
alert(){window.alert();}} //---A
new s();
-------------------
@を
alert(s1) ×
alert(this.s1) 〇
alert(s2) 〇
alert(this.s2) ×
と、Aで引数を受け取らなくてもalertで値が表示される
@alert(s2)とし
Aalert(){window.alert(this.s1):}
とすると、s2がalertされるし
@alert()とし
Aalert(){window.alert(this.s1):}
とするとalertには何も表示されない
とても不可思議な挙動
class s{
constructor(){
this.s1="s1";
let .s2="s2";
alert(); }// ---@
alert(){window.alert();}} //---A
new s();
-------------------
@を
alert(s1) ×
alert(this.s1) 〇
alert(s2) 〇
alert(this.s2) ×
と、Aで引数を受け取らなくてもalertで値が表示される
@alert(s2)とし
Aalert(){window.alert(this.s1):}
とすると、s2がalertされるし
@alert()とし
Aalert(){window.alert(this.s1):}
とするとalertには何も表示されない
とても不可思議な挙動
340デフォルトの名無しさん (ワッチョイ 5961-3gg3 [114.167.47.202])
2020/12/01(火) 11:40:52.32ID:bVbF5nud0 >>339
(1)で(2)を呼びたいならthis.alert()でないとだめ
ブラウザ上ではwindow.は省略可能なので(1)のalertはwindow.alertその物
スクリプト系の言語ではc++やc#等とは違ってthis相当の物を省略できないのが多い
(1)で(2)を呼びたいならthis.alert()でないとだめ
ブラウザ上ではwindow.は省略可能なので(1)のalertはwindow.alertその物
スクリプト系の言語ではc++やc#等とは違ってthis相当の物を省略できないのが多い
341デフォルトの名無しさん (ワッチョイ 592c-OOND [114.144.98.145])
2020/12/01(火) 12:07:45.77ID:WP+WGTcn0 >>336
プロ向きなら、サイの表紙の2冊のサイ本
初めてのJavaScript 第3版 ――ES2015以降の最新ウェブ開発、オライリー、2017
JavaScript 第6版、2012、David Flanagan
ただし、これらは、Google などの開発者が読む、プロ向きの本。
最低でも、Ruby は出来ないと、難しすぎて読めないと思う
JavaScript は、言語仕様が肥大化してる。
Rubyみたいに、簡単には学べないから、適当にお茶を濁した方がよい。
キリがない
プロ向きなら、サイの表紙の2冊のサイ本
初めてのJavaScript 第3版 ――ES2015以降の最新ウェブ開発、オライリー、2017
JavaScript 第6版、2012、David Flanagan
ただし、これらは、Google などの開発者が読む、プロ向きの本。
最低でも、Ruby は出来ないと、難しすぎて読めないと思う
JavaScript は、言語仕様が肥大化してる。
Rubyみたいに、簡単には学べないから、適当にお茶を濁した方がよい。
キリがない
342デフォルトの名無しさん (オッペケ Sr1d-kvF8 [126.133.193.52])
2020/12/01(火) 13:31:02.54ID:53WLqSe7r343デフォルトの名無しさん (ワッチョイ 1b46-P4WK [111.98.111.65])
2020/12/01(火) 19:23:33.17ID:Zg5lb2px0 >>340
勉強になります、ありがと先生!
勉強になります、ありがと先生!
344333 (ワッチョイ dff0-jrSk [115.65.191.12])
2020/12/02(水) 10:31:40.93ID:B0C6cOGW0 javascriptの挙動を確認したいので
本体が何処にあるか調べてるのですが不明です
javascript本体はどこにあるのでしょうか?
本体が何処にあるか調べてるのですが不明です
javascript本体はどこにあるのでしょうか?
345デフォルトの名無しさん (オッペケ Sraf-/AfY [126.133.193.52])
2020/12/02(水) 13:01:48.46ID:PzRtqWYIr >>344
本体の定義は何?
本体の定義は何?
346デフォルトの名無しさん (ワッチョイ fb2c-lBG8 [114.144.98.145])
2020/12/02(水) 13:44:59.62ID:vDg6xkSY0 Node.js なら、コマンドプロンプトで、
where node
と入力すると、
C:\Program Files\nodejs\node.exe
where node
と入力すると、
C:\Program Files\nodejs\node.exe
347デフォルトの名無しさん (ワッチョイ f34e-2/bE [210.138.216.243])
2020/12/02(水) 14:00:48.75ID:s/Tj40p50 「javascript本体はどこにあるのか」か。
ちょっと哲学的な問いだな。
俺としては、「Ecma International にある」説を推したい。
しかし物理的実体があるわけではないので Ecma International 本部があるジュネーヴにはない。
ちょっと哲学的な問いだな。
俺としては、「Ecma International にある」説を推したい。
しかし物理的実体があるわけではないので Ecma International 本部があるジュネーヴにはない。
348デフォルトの名無しさん (ワッチョイ 1f71-jrSk [157.107.79.242])
2020/12/02(水) 17:09:47.94ID:ll4y5RKs0 ブラウザに組み込まれてるのでは?(クソザコ素人)
349デフォルトの名無しさん (オッペケ Sraf-/AfY [126.133.193.52])
2020/12/02(水) 18:10:51.81ID:PzRtqWYIr350デフォルトの名無しさん (ワッチョイ df02-jrSk [119.106.222.232])
2020/12/02(水) 18:15:26.80ID:kLO/ox290 単純にコードはどうやって見られますかって話では。
351デフォルトの名無しさん (オッペケ Sraf-/AfY [126.133.193.52])
2020/12/04(金) 08:30:08.52ID:0LJPp7yer 質問は放置されたか
352デフォルトの名無しさん (ワッチョイ dff0-jrSk [115.65.191.12])
2020/12/04(金) 15:48:35.50ID:Q52RE+DV0 書き込み不可でした
質問の仕方が悪くてすみません
javascriptが関数などをどう処理してるのかを知りたくて
javascriptのソースファイルを見たいなって思ってました
googleのchromeファイルを見てたんですけどちょっと分からなくて質問してみました
実際にはバイナリなりで読めない状態なのかもしれませんけど
所在だけでもしっておきたいなと
質問の仕方が悪くてすみません
javascriptが関数などをどう処理してるのかを知りたくて
javascriptのソースファイルを見たいなって思ってました
googleのchromeファイルを見てたんですけどちょっと分からなくて質問してみました
実際にはバイナリなりで読めない状態なのかもしれませんけど
所在だけでもしっておきたいなと
353デフォルトの名無しさん (ワッチョイ f34e-2/bE [210.138.216.243])
2020/12/04(金) 16:14:05.08ID:2+VKdPy10 >>352
そういう説明が欲しかった。
chromeのJavaScript実行エンジンはV8だから、V8のソース読めばおk。
以下に手順が説明されているよ。
https://v8.dev/docs/source-code
そういう説明が欲しかった。
chromeのJavaScript実行エンジンはV8だから、V8のソース読めばおk。
以下に手順が説明されているよ。
https://v8.dev/docs/source-code
354デフォルトの名無しさん (ワッチョイ dff0-jrSk [115.65.191.12])
2020/12/04(金) 17:56:05.68ID:Q52RE+DV0355デフォルトの名無しさん (ワッチョイ c73d-eZUT [124.25.115.164])
2020/12/04(金) 18:35:57.72ID:mOVEEZtP0 function(5, 10){
この5や10を別の数字や文字に変更することは出来ますか?
この5や10を別の数字や文字に変更することは出来ますか?
356デフォルトの名無しさん (オッペケ Sraf-/AfY [126.133.193.52])
2020/12/04(金) 19:13:20.61ID:0LJPp7yer357デフォルトの名無しさん (ブーイモ MMbf-fY0N [163.49.215.238])
2020/12/04(金) 19:23:39.37ID:UxB6Tf8eM 関数に引数で渡された変数の中身じゃなくて変数の名前って取得できますか?
358デフォルトの名無しさん (ワッチョイ c73d-eZUT [124.25.115.164])
2020/12/04(金) 19:25:42.17ID:mOVEEZtP0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★3 [ぐれ★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- 現役猟師・東出昌大、クマ被害続出も過熱する報道に「クマはそんな危ないもんじゃない」理由語る [muffin★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- さっっっっっっっっっっっっっっっっっむ!?!!?!?!?!!??!??!???!
- ハゲがレジやってるコンビニって
- 4時だから窓から4回ちんこ出した
- クマどもが冬眠拒否
- Perfume・あ~ちゃんの結婚相手の一般男性、吉田カバンの社長と判明 [977261419]
- 宇宙飛行士 vs 超天才数学者
