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:Qcd0Qmy10241デフォルトの名無しさん (JP 0Hdf-OVFq [103.140.113.232])
2020/06/15(月) 21:10:05.21ID:JS6xK7rfH マルチポストはやめましょう
242デフォルトの名無しさん (ワッチョイ 6fc7-Z00E [111.216.204.69])
2020/06/15(月) 21:13:50.22ID:1F3a2yyn0 スレを間違えただけです
243デフォルトの名無しさん (ワッチョイ c301-jzfI [126.140.244.65])
2020/06/15(月) 21:41:15.07ID:7MR1R7860 >>242
指摘されるまで質問を撤回しなかった理由は?
指摘されるまで質問を撤回しなかった理由は?
244デフォルトの名無しさん (ワッチョイ ff2c-aH+M [221.190.7.123])
2020/06/15(月) 23:53:35.57ID:6c4s/wK/0 JavaScript の質問は、web制作管理板の方へ書き込んでください!
この板のスレは、荒らしが出た時に、緊急避難用として立てられたもので、現在は使われていない!
この板のスレは、荒らしが出た時に、緊急避難用として立てられたもので、現在は使われていない!
245デフォルトの名無しさん (ラクッペペ MM96-+D7B [133.106.90.78])
2020/07/05(日) 23:47:37.29ID:S84HRZFZM javascript初心者で右も左もよくわからないんだけどconsole.log();ってみなさんchromeなら検証からやって
246デフォルトの名無しさん (ワッチョイ 0101-INtO [126.140.245.39])
2020/07/06(月) 05:50:27.12ID:JmzGvw7e0247デフォルトの名無しさん (ワッチョイ a56a-+D7B [42.125.49.111])
2020/07/06(月) 14:11:59.36ID:YRhjpfSA0 >>246
やっていますか? でした
やっていますか? でした
248デフォルトの名無しさん (オッペケ Srf9-INtO [126.255.161.232])
2020/07/06(月) 14:50:26.97ID:L/pk2yTgr >>247
それでも、エスパー案件
「右クリックメニューの[検証]からコンソールパネルを開いてますか?」
と質問してるのか?
---
ショートカットキーを覚えろ
https://developers.google.com/web/tools/chrome-devtools/shortcuts
そして、正しい日本語で質問することも覚えろ
それでも、エスパー案件
「右クリックメニューの[検証]からコンソールパネルを開いてますか?」
と質問してるのか?
---
ショートカットキーを覚えろ
https://developers.google.com/web/tools/chrome-devtools/shortcuts
そして、正しい日本語で質問することも覚えろ
249デフォルトの名無しさん (ラクッペペ MM96-+D7B [133.106.82.76])
2020/07/06(月) 15:11:39.18ID:AsDEr6ShM250デフォルトの名無しさん (ワッチョイ 0101-INtO [126.140.244.253])
2020/07/06(月) 20:10:50.63ID:FMGmKD1v0 >>249
PCの基本が載ってる本を買って勉強した方がいい
PCの基本が載ってる本を買って勉強した方がいい
251デフォルトの名無しさん (アウアウエー Sada-h0J+ [111.239.210.205])
2020/07/07(火) 00:22:17.39ID:wqab1oePa すみません、自作JavaScriptをブラウザで見ようとしてブラウザが反応しなくなった時に
止める方法はありますですか?
ctl+alt+del押してタスクマネージャーから落とす以外に無いかですか?
止める方法はありますですか?
ctl+alt+del押してタスクマネージャーから落とす以外に無いかですか?
252デフォルトの名無しさん (ワッチョイ 8d4e-yZ94 [210.138.216.243])
2020/07/07(火) 04:38:45.11ID:7NRV/JzE0 いくらでもあるのでは?
ハンマーでPCごと叩き壊すとか
ハンマーでPCごと叩き壊すとか
253デフォルトの名無しさん (オッペケ Srf9-INtO [126.255.161.232])
2020/07/07(火) 08:04:49.16ID:ZqIgROior >>251
Chrome駕止めるか聞いてきたら、止める
Chrome駕止めるか聞いてきたら、止める
254デフォルトの名無しさん (ワッチョイ fb5f-w4il [106.72.170.129])
2020/08/13(木) 21:43:17.29ID:cLv1fX6M0 こういう配列があったとして
const hoge = [
{name: "taro", age: 15, group: "A"},
{name: "hanako", age: 25, group: "B"},
]
最終的にこんな感じにしたい(ageだけ2倍に)
const hoge = [
{name: "taro", age: 30, group: "A"},
{name: "hanako", age: 50, group: "B"},
]
mapを使えばいいと思ったんですが、書き方が分かりませんでした…
(元のオブジェクトを展開して、ageだけ2倍するみたいなことが出来ると思った)
const newHoge = hoge.map(h => {...h, age: h.age * 2})
const hoge = [
{name: "taro", age: 15, group: "A"},
{name: "hanako", age: 25, group: "B"},
]
最終的にこんな感じにしたい(ageだけ2倍に)
const hoge = [
{name: "taro", age: 30, group: "A"},
{name: "hanako", age: 50, group: "B"},
]
mapを使えばいいと思ったんですが、書き方が分かりませんでした…
(元のオブジェクトを展開して、ageだけ2倍するみたいなことが出来ると思った)
const newHoge = hoge.map(h => {...h, age: h.age * 2})
255デフォルトの名無しさん (ワントンキン MMbf-it5q [153.250.62.60])
2020/08/13(木) 21:55:53.88ID:PyxE/Q5zM256デフォルトの名無しさん (ワッチョイ fb5f-w4il [106.72.170.129])
2020/08/13(木) 21:59:50.51ID:cLv1fX6M0257デフォルトの名無しさん (ワッチョイ 9f01-s47K [219.210.104.4])
2020/08/17(月) 12:12:35.63ID:Ew8mgsp/0 てs
258デフォルトの名無しさん (スッップ Sdbf-w4il [49.98.146.19])
2020/08/18(火) 19:36:32.49ID:65jirDTbd これを
const hoge = "【aaa】bbb【ccc】【ddddd】eee【fff】gggg";
最終的にこういう配列にしたいんですが
const newHoge = hogeFunc(hoge);
console.log(newHoge)
["【aaa】",
"bbb",
"【ccc】",
"【ddddd】",
"eee",
"【fff】"]
indexOfで【】の位置特定して、sliceして、みたいなごり押し以外で何かスマートに処理する方法あるでしょうか?
lodash的な便利ライブラリを使用する方法とかでも構わないので知りたいです
const hoge = "【aaa】bbb【ccc】【ddddd】eee【fff】gggg";
最終的にこういう配列にしたいんですが
const newHoge = hogeFunc(hoge);
console.log(newHoge)
["【aaa】",
"bbb",
"【ccc】",
"【ddddd】",
"eee",
"【fff】"]
indexOfで【】の位置特定して、sliceして、みたいなごり押し以外で何かスマートに処理する方法あるでしょうか?
lodash的な便利ライブラリを使用する方法とかでも構わないので知りたいです
259デフォルトの名無しさん (ワッチョイ 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みたいに、簡単には学べないから、適当にお茶を濁した方がよい。
キリがない
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 【高市朗報】 日本政府「一昨年は1300億円。去年も防衛費が1100億円余ったw」 日本の防衛費は充分足りてる事が判明。増やす必要無し [485983549]
- 高市早苗「支持者の理解を得られないので台湾発言を撤回できない」 [931948549]
- 【実況】博衣こよりのえちえち歌枠🧪
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 【速報】51歳まで自衛隊になれるように法改正ww [347751896]
