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.123 +
https://mevius.5ch.net/test/read.cgi/tech/1491143438/
VIPQ2_EXTDAT: checked:vvvvvv:1000:512:: EXT was configured
+ JavaScript の質問用スレッド vol.124 +
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 8a52-hQZx [61.87.108.223])
2021/11/10(水) 15:24:24.80ID:jxD2VXPG071デフォルトの名無しさん (オッペケ Srbb-eA7U [126.194.225.246])
2021/11/20(土) 19:05:52.91ID:Gd107dzfr やっぱjavascriptできるとなんでも作れるな
めちゃくちゃ便利だわ
めちゃくちゃ便利だわ
72デフォルトの名無しさん (ワッチョイ 7646-+VBe [111.98.111.65])
2021/11/20(土) 19:54:48.88ID:0rDRyz8e0 ブラウザ限定だし
HTMLと一緒でメンテナンスとか関係なければな
もしJSで金融システムみたいな厳格なシステム作ろうとしたら
開発者はみんな気がくるってしまうんじゃないかな
HTMLと一緒でメンテナンスとか関係なければな
もしJSで金融システムみたいな厳格なシステム作ろうとしたら
開発者はみんな気がくるってしまうんじゃないかな
73デフォルトの名無しさん (オッペケ Srbb-eA7U [126.194.225.246])
2021/11/20(土) 19:57:24.06ID:Gd107dzfr マジでjavascriptだけでめちゃくちゃ儲けてる
使いこなせばガチで素晴らしい
使いこなせばガチで素晴らしい
74デフォルトの名無しさん (ワッチョイ 372f-IS5D [218.220.251.107])
2021/11/20(土) 20:02:17.98ID:4VXr5Xxs0 仕事で使ってるサイトをJavascriptで自動化できませんか?
たとえば出勤と退勤のときの時間を管理するのに「勤次郎」というサイトを使ってるんだけど
毎回ログインしたあといちいち入力するのが面倒くさい。
たとえば出勤と退勤のときの時間を管理するのに「勤次郎」というサイトを使ってるんだけど
毎回ログインしたあといちいち入力するのが面倒くさい。
75デフォルトの名無しさん (ワッチョイ 7646-+VBe [111.98.111.65])
2021/11/20(土) 20:22:43.02ID:0rDRyz8e0 >>74
データーの保存はどこを想定してますか?
データーの保存はどこを想定してますか?
76デフォルトの名無しさん (ワッチョイ 035c-+VBe [220.212.121.177])
2021/11/20(土) 20:24:55.79ID:b48agA+u0 seleniumでいいじゃん
77デフォルトの名無しさん (オッペケ Srbb-eA7U [126.194.225.246])
2021/11/20(土) 20:46:00.92ID:Gd107dzfr 認証しないシステムなんて攻撃か踏み台にされるとか考えないのか
78デフォルトの名無しさん (ワッチョイ 7f4e-8G9t [210.138.216.243])
2021/11/20(土) 21:05:08.87ID:t4XZd1270 定型をポチポチ入力してボタン押すのがダルい程度ならブックマークレットでいいだろ
79デフォルトの名無しさん (ワッチョイ 4e2c-iAR7 [153.136.94.40])
2021/11/21(日) 08:08:40.09ID:zYUtuXs90 >>74
ブラウザを自動操作なら、iMacros は?
例えば漏れは、Ruby のselenium-webdriver で、
ブラウザを自動操作して、ヤフーにログインしてる
ユーザー名を入力して、ボタンを押す。
パスワードを入力して、ボタンを押すとか
require "selenium-webdriver"
options = Selenium::WebDriver::Chrome::Options.new
options.add_option( :detach, true ) # ブラウザを切り離す
options.add_argument( '--start-maximized' ) # 画面最大
driver = Selenium::WebDriver.for :chrome, options: options
driver.manage.timeouts.implicit_wait = 10 # default timeout
driver.navigate.to "https://login.yahoo.co.jp/config/login_verify2?.src=ym"
element = driver.find_element(:id => "username")
element.send_key "ユーザー名"
driver.find_element(:id => "btnNext").click # ボタンを押す
element = driver.find_element(:id => "passwd")
element.send_key "パスワード"
driver.find_element(:id => "btnSubmit").click # ボタンを押す
ブラウザを自動操作なら、iMacros は?
例えば漏れは、Ruby のselenium-webdriver で、
ブラウザを自動操作して、ヤフーにログインしてる
ユーザー名を入力して、ボタンを押す。
パスワードを入力して、ボタンを押すとか
require "selenium-webdriver"
options = Selenium::WebDriver::Chrome::Options.new
options.add_option( :detach, true ) # ブラウザを切り離す
options.add_argument( '--start-maximized' ) # 画面最大
driver = Selenium::WebDriver.for :chrome, options: options
driver.manage.timeouts.implicit_wait = 10 # default timeout
driver.navigate.to "https://login.yahoo.co.jp/config/login_verify2?.src=ym"
element = driver.find_element(:id => "username")
element.send_key "ユーザー名"
driver.find_element(:id => "btnNext").click # ボタンを押す
element = driver.find_element(:id => "passwd")
element.send_key "パスワード"
driver.find_element(:id => "btnSubmit").click # ボタンを押す
80デフォルトの名無しさん (ワッチョイ 5b10-MXQP [180.12.82.129])
2021/11/21(日) 18:31:02.25ID:8Vc5P3wO0 >>768
それだと数式を""で囲んで文字列にすると計算できない
それだと数式を""で囲んで文字列にすると計算できない
81デフォルトの名無しさん (ワッチョイ 5b10-MXQP [180.12.82.129])
2021/11/21(日) 18:31:35.22ID:8Vc5P3wO0 >>68だ
82デフォルトの名無しさん (ワッチョイ cedb-+VBe [217.178.96.78])
2021/11/21(日) 19:15:18.38ID:s72Bw1rA0 classが非推奨になるのはいつですか?
83デフォルトの名無しさん (ワッチョイ 6301-wksM [60.74.72.59])
2021/11/21(日) 19:23:58.62ID:6CiZCeOJ0 >>82
その予定はない
その予定はない
84デフォルトの名無しさん (ワッチョイ 7646-+VBe [111.98.111.65])
2021/11/21(日) 21:16:08.25ID:CIU/fTVN085デフォルトの名無しさん (ワッチョイ 7f4e-8G9t [210.138.216.243])
2021/11/21(日) 21:19:33.19ID:QvzeRvg10 >>61
function test(suushiki_str, x){
var f = Function('x', 'return ' + suushiki_str);
return f(x);
}
test('x * x + 10' ,2);
//=> 14
function test(suushiki_str, x){
var f = Function('x', 'return ' + suushiki_str);
return f(x);
}
test('x * x + 10' ,2);
//=> 14
86デフォルトの名無しさん (オッペケ Srbb-eA7U [126.205.247.161])
2021/11/21(日) 22:55:28.72ID:EhgufZNWr javascriptが使えるとやりたいことが簡単にできる
87デフォルトの名無しさん (ワッチョイ cedb-+VBe [217.178.96.78])
2021/11/22(月) 11:19:44.15ID:svQfIHqM0 >>86
JavaScript最強伝説。
JavaScript最強伝説。
88デフォルトの名無しさん (オッペケ Srbb-eA7U [126.254.145.114])
2021/11/22(月) 14:30:42.59ID:zL7mhfu3r ブラウザで動く
LambdaやGoogle Functionsで動く
デスクトップアプリも作れる
OfficeWeb版やGASでも動く
インフラ構築不要で最強すぎるだろ
LambdaやGoogle Functionsで動く
デスクトップアプリも作れる
OfficeWeb版やGASでも動く
インフラ構築不要で最強すぎるだろ
89デフォルトの名無しさん (ワッチョイ cedb-+VBe [217.178.96.78])
2021/11/22(月) 16:46:08.87ID:svQfIHqM090デフォルトの名無しさん (オッペケ Srbb-eA7U [126.254.145.114])
2021/11/22(月) 16:48:25.46ID:zL7mhfu3r91デフォルトの名無しさん (ワッチョイ f6c3-9IQd [159.28.152.184])
2021/11/22(月) 17:43:25.62ID:+p8qnn8E0 すいません、下記のように読み込んだshiftJISのcsvファイルを
正規表現を使って置換しようとしてるのですがうまくいきません
文字コードの問題なのか指定したマッチパターン意外の色んな文字が勝手に置換されてしまいます
const requestCSV = new XMLHttpRequest();
requestCSV.overrideMimeType('text/plain; charset=Shift_JIS');//csvの文字コードがshiftJSであることは変更できない
requestCSV.addEventListener('load', (event) => {
const orgCSV = event.target.responseText;
tempKey="["+key+"]";//keyは変数を使う必要があります
keyName = new RegExp(tempKey, "g");//複数マッチさせる必要があります
result=orgCSV.replace(keyName, "ほげ");
}
正規表現オブジェクトを使わずにreplaceさせると問題なく動くのですが、
マッチパターンを変数にしたいのと、複数回以上にマッチさせるため g をつけるため、
正規表現オブジェクトを使わざるを得ない状態です。
どなたかアドバイスお願いできますでしょうか
正規表現を使って置換しようとしてるのですがうまくいきません
文字コードの問題なのか指定したマッチパターン意外の色んな文字が勝手に置換されてしまいます
const requestCSV = new XMLHttpRequest();
requestCSV.overrideMimeType('text/plain; charset=Shift_JIS');//csvの文字コードがshiftJSであることは変更できない
requestCSV.addEventListener('load', (event) => {
const orgCSV = event.target.responseText;
tempKey="["+key+"]";//keyは変数を使う必要があります
keyName = new RegExp(tempKey, "g");//複数マッチさせる必要があります
result=orgCSV.replace(keyName, "ほげ");
}
正規表現オブジェクトを使わずにreplaceさせると問題なく動くのですが、
マッチパターンを変数にしたいのと、複数回以上にマッチさせるため g をつけるため、
正規表現オブジェクトを使わざるを得ない状態です。
どなたかアドバイスお願いできますでしょうか
92デフォルトの名無しさん (ワッチョイ cedb-+VBe [217.178.96.78])
2021/11/22(月) 17:45:45.05ID:svQfIHqM0 >>90
Javaの方が分かりやすかった。
Javaの方が分かりやすかった。
93デフォルトの名無しさん (ワッチョイ 7f4e-8G9t [210.138.216.243])
2021/11/22(月) 18:41:55.55ID:kseOISZ70 Javaと比べたらJavaScriptのほうが文法複雑じゃないと思うが…
TypeScriptと混同してない?
TypeScriptと混同してない?
94デフォルトの名無しさん (ワッチョイ 7f4e-8G9t [210.138.216.243])
2021/11/22(月) 18:43:22.51ID:kseOISZ70 それかDOM APIをJavaScriptの文法に含むと勘違いしてるとか
95デフォルトの名無しさん (ブーイモ MM26-IS5D [163.49.208.33])
2021/11/22(月) 18:50:50.35ID:jaRoUi/NM Javaのほうが圧倒的にすっきりしている。
ほんとに両言語をちゃんと勉強したことあるか?
アルツハイマーでもこれくらい分かる。
ほんとに両言語をちゃんと勉強したことあるか?
アルツハイマーでもこれくらい分かる。
96デフォルトの名無しさん (ワッチョイ 4e61-9IQd [153.160.97.54])
2021/11/22(月) 18:53:04.86ID:yUT2zM6b0 >>91
keyを[]で囲む必要なし
keyを[]で囲む必要なし
97デフォルトの名無しさん (ワッチョイ 7646-+VBe [111.98.111.65])
2021/11/22(月) 18:54:55.94ID:LGR+CB3F0 >>94
古いJSとの互換性を取ろうとすると
古い文法も理解しないとならないからな
オブジェクトの生成も多種多様
JSの細かいところまで理解しようとすると
javaやpythonとかのほうが整理されていてわかりやすい
let obj var objのLexicalの違いや
let obj={}
let fun=function(){}
function fun(){}
class cs extends fun{}
class cs{
__proto__=a;
}
obj.constructor.prorotype=obj
newObjext ,Object.create
こんなのシンプルなわけがない
と92はいいたんだと思う
古いJSとの互換性を取ろうとすると
古い文法も理解しないとならないからな
オブジェクトの生成も多種多様
JSの細かいところまで理解しようとすると
javaやpythonとかのほうが整理されていてわかりやすい
let obj var objのLexicalの違いや
let obj={}
let fun=function(){}
function fun(){}
class cs extends fun{}
class cs{
__proto__=a;
}
obj.constructor.prorotype=obj
newObjext ,Object.create
こんなのシンプルなわけがない
と92はいいたんだと思う
98デフォルトの名無しさん (ワッチョイ f6c3-9IQd [159.28.152.184])
2021/11/22(月) 19:05:02.79ID:+p8qnn8E099デフォルトの名無しさん (ワッチョイ 7f4e-8G9t [210.138.216.243])
2021/11/22(月) 19:40:22.23ID:kseOISZ70 Java
class Main {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
JavaScript
console.log("Hello World!");
hello worldからしてこれだからな
あなたの「シンプル」の定義を見せてもらえないと…
class Main {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
JavaScript
console.log("Hello World!");
hello worldからしてこれだからな
あなたの「シンプル」の定義を見せてもらえないと…
100デフォルトの名無しさん (ワッチョイ 7646-+VBe [111.98.111.65])
2021/11/22(月) 20:19:16.63ID:LGR+CB3F0 >>99
JSのクラスは疑似クラス
他言語のClassと同じように扱えるように
functionを疑似的にclass表現できるようにしてるだけ
Javaと異なりJSはconstructorを有するオブジェクトの生成方法が沢山ある
それすら理解できずに、99の問いとは、、、もっとJSを勉強しようぜ
Javaのほうが圧倒的に整理され覚える文法が少ない
つか、JavaとJS、両方ともそこそこ使えたら
99みたいなこと言えないだろw
JSのクラスは疑似クラス
他言語のClassと同じように扱えるように
functionを疑似的にclass表現できるようにしてるだけ
Javaと異なりJSはconstructorを有するオブジェクトの生成方法が沢山ある
それすら理解できずに、99の問いとは、、、もっとJSを勉強しようぜ
Javaのほうが圧倒的に整理され覚える文法が少ない
つか、JavaとJS、両方ともそこそこ使えたら
99みたいなこと言えないだろw
101デフォルトの名無しさん (ワッチョイ 7646-+VBe [111.98.111.65])
2021/11/22(月) 20:26:36.75ID:LGR+CB3F0 >>99
もうちょっと言わせてもらえば
Javaは変数エラーをチェックしやすい言語設計
JSは変数エラーを無限に生成し得る言語設計
JSはマークアップを動的に処理することから発生し
高度な言語設計にしても互換性の問題から
古い文法を生かしているので、とても複雑怪奇になっている
そう表現したらわかるかな?
もうちょっと言わせてもらえば
Javaは変数エラーをチェックしやすい言語設計
JSは変数エラーを無限に生成し得る言語設計
JSはマークアップを動的に処理することから発生し
高度な言語設計にしても互換性の問題から
古い文法を生かしているので、とても複雑怪奇になっている
そう表現したらわかるかな?
102デフォルトの名無しさん (テテンテンテン MMb6-9fbt [133.106.36.42])
2021/11/22(月) 20:44:07.24ID:LDcgDFlhM 変数エラーとは
103デフォルトの名無しさん (テテンテンテン MMb6-9fbt [133.106.36.42])
2021/11/22(月) 20:52:35.36ID:LDcgDFlhM104デフォルトの名無しさん (ワッチョイ f6c3-9IQd [159.28.152.184])
2021/11/22(月) 23:07:56.11ID:+p8qnn8E0 >>103
置換した具体例で言うと例えば
さっきの例で置換部分が
result=orgCSV.replace(keyName, "ほげ");
元のテキストが下記だとすると
<title>[name]</title>
結果が下記になってしまってなんじゃこりゃ…て感じですね
<titlほげ>[ほげaほげほげ]</titlほげ>
正規表現オブジェクトを使わなければ普通に成功します
result=orgCSV.replace("[name]", "ほげ"); //<title>ほげ</title>になる
しかし先述のようにマッチパターンを変数化しつつgをつけて複数置換する必要があるため難しいんです…
置換した具体例で言うと例えば
さっきの例で置換部分が
result=orgCSV.replace(keyName, "ほげ");
元のテキストが下記だとすると
<title>[name]</title>
結果が下記になってしまってなんじゃこりゃ…て感じですね
<titlほげ>[ほげaほげほげ]</titlほげ>
正規表現オブジェクトを使わなければ普通に成功します
result=orgCSV.replace("[name]", "ほげ"); //<title>ほげ</title>になる
しかし先述のようにマッチパターンを変数化しつつgをつけて複数置換する必要があるため難しいんです…
105デフォルトの名無しさん (ワッチョイ 4e61-9IQd [153.160.97.54])
2021/11/22(月) 23:44:57.26ID:yUT2zM6b0 >>104
tempKey="\\["+key+"\\]";
tempKey="\\["+key+"\\]";
106デフォルトの名無しさん (ワッチョイ 5b10-iUmB [180.12.82.129])
2021/11/22(月) 23:59:47.75ID:LPlgTaUb0 javascriptで計算の値がオーバーフロウするかどうかを調べるにはどうすればいいんですか?
例えば10000の10乗を計算しようとしてオーバーフロウするならばalertで計算できませんと
表示したいんだけど
例えば10000の10乗を計算しようとしてオーバーフロウするならばalertで計算できませんと
表示したいんだけど
107デフォルトの名無しさん (ワッチョイ 8b01-wksM [126.74.75.203])
2021/11/23(火) 00:04:12.05ID:KUvc8h5G0 >>104
[] は文字クラス
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Regular_Expressions/Character_Classes
更に、keyにメタキャラクタがあれば同じ事になるので、文字列全体をエスケープすべき
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Regular_Expressions#escaping
上記は正規表現の基本
正規表現を体系的に学習すれば、絶対に気がついたこと
急がば回れ
[] は文字クラス
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Regular_Expressions/Character_Classes
更に、keyにメタキャラクタがあれば同じ事になるので、文字列全体をエスケープすべき
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Regular_Expressions#escaping
上記は正規表現の基本
正規表現を体系的に学習すれば、絶対に気がついたこと
急がば回れ
108デフォルトの名無しさん (ワッチョイ 8b01-wksM [126.74.75.203])
2021/11/23(火) 00:07:12.09ID:KUvc8h5G0 >>106
BigIntと文字列比較
BigIntと文字列比較
109デフォルトの名無しさん (ワッチョイ 7f4e-8G9t [210.138.216.243])
2021/11/23(火) 00:24:05.58ID:t+JcGiN60 >>100
なんでクラスの話に?詭弁では?
クラスベースの奴らがうるさいからclassなんて入れる羽目になったんだが。
そいつらのせいで木に竹を接ぐようなことさせられてむしろ複雑になった。
プロトタイプベースとしてシンプルでよかったのにほんと独善的でろくなことしない。
Reactでもクラスコンポーネントは廃れ99%のケースでFCになったよ。
なんでクラスの話に?詭弁では?
クラスベースの奴らがうるさいからclassなんて入れる羽目になったんだが。
そいつらのせいで木に竹を接ぐようなことさせられてむしろ複雑になった。
プロトタイプベースとしてシンプルでよかったのにほんと独善的でろくなことしない。
Reactでもクラスコンポーネントは廃れ99%のケースでFCになったよ。
110デフォルトの名無しさん (ワッチョイ cedb-+VBe [217.178.96.78])
2021/11/23(火) 01:06:21.92ID:cKz+CerT0111デフォルトの名無しさん (ワッチョイ f6c3-9IQd [159.28.152.184])
2021/11/23(火) 01:17:09.89ID:SfFCbJaV0112デフォルトの名無しさん (ワッチョイ 7646-+VBe [111.98.111.65])
2021/11/23(火) 07:20:19.58ID:A/hfu3xU0113デフォルトの名無しさん (テテンテンテン MMb6-9fbt [133.106.243.30])
2021/11/23(火) 07:33:58.18ID:MZ1To5x7M 変数エラーでググっても出てこなかったです
何処の業界用語ですか?
何処の業界用語ですか?
114デフォルトの名無しさん (ワッチョイ 4e2c-C1KD [153.136.94.40])
2021/11/23(火) 08:34:50.37ID:Ln8GWMq+0 >>104
Ruby では、Regexp.escape で、
正規表現において、特別な意味を持つ文字の直前に、
エスケープ文字(バックスラッシュ)を挿入した、文字列を返す
p esc_1 = Regexp.escape( "[-a]" ) #=> "\\[\\-a\\]"
reg_1 = Regexp.new( esc_1 )
p reg_1.match( "x[-a]y" ) #<MatchData "[-a]">
Ruby では、Regexp.escape で、
正規表現において、特別な意味を持つ文字の直前に、
エスケープ文字(バックスラッシュ)を挿入した、文字列を返す
p esc_1 = Regexp.escape( "[-a]" ) #=> "\\[\\-a\\]"
reg_1 = Regexp.new( esc_1 )
p reg_1.match( "x[-a]y" ) #<MatchData "[-a]">
115デフォルトの名無しさん (アメ MM17-8G9t [218.225.234.214])
2021/11/23(火) 09:26:25.23ID:AKV1HaX9M >>112
お笑いと言えばJavaの無名クラスだろ
なんだったのアレ
関数がファーストクラスオブジェクトじゃなかった欠陥言語の苦肉の策とは言えとんでもなくキッタネェコード
今じゃラムダ関数使ってだーれも使ってないし
最初からそうしとけばよかったのにね
ぜんぜん整理されてなかったのかな?w
お笑いと言えばJavaの無名クラスだろ
なんだったのアレ
関数がファーストクラスオブジェクトじゃなかった欠陥言語の苦肉の策とは言えとんでもなくキッタネェコード
今じゃラムダ関数使ってだーれも使ってないし
最初からそうしとけばよかったのにね
ぜんぜん整理されてなかったのかな?w
116デフォルトの名無しさん (ワッチョイ 9af0-9IQd [219.121.80.140])
2021/11/23(火) 10:33:28.85ID:9dlC3Wki0 言語の完成度はJava>JS
学びやすさもJava>JS
だからと言って優劣を表現してるわけじゃないよ
マークアップ操作言語として
JS、HTML、CSS等との新旧互換性を担保しながら
成長してきた言語だから
継ぎ接ぎ言語になっているのは仕方ないこと
JSでできることは多いし楽しい言語であることを否定してるわけじゃないんだ
でもJSが整理されてシンプルな言語であるとは言えないってだけ
学びやすさもJava>JS
だからと言って優劣を表現してるわけじゃないよ
マークアップ操作言語として
JS、HTML、CSS等との新旧互換性を担保しながら
成長してきた言語だから
継ぎ接ぎ言語になっているのは仕方ないこと
JSでできることは多いし楽しい言語であることを否定してるわけじゃないんだ
でもJSが整理されてシンプルな言語であるとは言えないってだけ
117デフォルトの名無しさん (オッペケ Srbb-eA7U [126.254.145.114])
2021/11/23(火) 10:45:11.29ID:jndULnQpr javascriptさえあれば何もいらん
javascriptだけでスケーラブルなシステムが作れる
javascriptだけでスケーラブルなシステムが作れる
118デフォルトの名無しさん (アメ MM17-8G9t [218.225.234.214])
2021/11/23(火) 10:52:32.71ID:AKV1HaX9M あまりにも面倒くさいため、誰もJavaでGUIを作らなくなりました。
やる気とAWT,Swingなど道具立てはあったのです。
ただJavaがクソ過ぎた。
イベントドリブンで必須のリスナー登録はこんな感じ(笑)
button1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("clicked");
}
});
一方C#ではデリゲートで簡単に書くことができました。
Javaはデリゲートが言語機能として無いのでマネできませんでしたw
結果今では誰もJavaでクライアントGUIプログラムを書きませんがC#はバリバリ使われてますw
結局Java8でJavaScriptをパクってlambdaで以下のように書けるようにしました(ハズカシーw)
button1.addActionListener(e -> System.out.println("clicked"));
しかし時すでにお寿司、誰もJavaでGUIを作っていないのであるwww
Javaはサーバーサイドに集中して成功者?
ノンノンw
Javaが糞でめんどくさくて誰も書かなくなったから廃れた、これがシンプルな答えですw
やる気とAWT,Swingなど道具立てはあったのです。
ただJavaがクソ過ぎた。
イベントドリブンで必須のリスナー登録はこんな感じ(笑)
button1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("clicked");
}
});
一方C#ではデリゲートで簡単に書くことができました。
Javaはデリゲートが言語機能として無いのでマネできませんでしたw
結果今では誰もJavaでクライアントGUIプログラムを書きませんがC#はバリバリ使われてますw
結局Java8でJavaScriptをパクってlambdaで以下のように書けるようにしました(ハズカシーw)
button1.addActionListener(e -> System.out.println("clicked"));
しかし時すでにお寿司、誰もJavaでGUIを作っていないのであるwww
Javaはサーバーサイドに集中して成功者?
ノンノンw
Javaが糞でめんどくさくて誰も書かなくなったから廃れた、これがシンプルな答えですw
119デフォルトの名無しさん (ワッチョイ 9af0-9IQd [219.121.80.140])
2021/11/23(火) 11:43:58.38ID:9dlC3Wki0 うん、わかった
確かにその通りです
確かにその通りです
120デフォルトの名無しさん (ワッチョイ 8b01-wksM [126.243.168.20])
2021/11/23(火) 15:55:58.57ID:MdPJopiF0 Android StudioではまだJava言語で開発が必要だったような
121デフォルトの名無しさん (ワッチョイ 1333-BhQk [59.190.185.22])
2021/11/27(土) 15:29:53.92ID:czi6N/jr0 0から9の入ったランダムの配列に適当に選んだnという数字が最大何個並んでいるか
これはどういう方法が早いのでしょうか
気にするほどでもないのでしょうか
配列を見ていくのは遅いとか言う話も聞いたような気もします
一般的にはどういう方法を取るのでしょうか
・配列の前から順にforでnであるか、あればカウンターインクリメント、なければカウンターリセット
・joinで配列を文字列化したあとforでi文字数ぶんのnを検索文字として includesがfalseになるまでか最悪配列数まで調べる
・文字列化したあとmatchで/n+/gで一覧を出して一覧の配列をmap(e=>e.length)で文字数にしてMath.maxで調べる
これはどういう方法が早いのでしょうか
気にするほどでもないのでしょうか
配列を見ていくのは遅いとか言う話も聞いたような気もします
一般的にはどういう方法を取るのでしょうか
・配列の前から順にforでnであるか、あればカウンターインクリメント、なければカウンターリセット
・joinで配列を文字列化したあとforでi文字数ぶんのnを検索文字として includesがfalseになるまでか最悪配列数まで調べる
・文字列化したあとmatchで/n+/gで一覧を出して一覧の配列をmap(e=>e.length)で文字数にしてMath.maxで調べる
122デフォルトの名無しさん (ブーイモ MM8b-/4Ud [133.159.152.250])
2021/11/27(土) 17:26:03.23ID:YexJKObKM >>121
まずは自分で試して比べろよ
まずは自分で試して比べろよ
123デフォルトの名無しさん (ワッチョイ 1333-BhQk [59.190.185.22])
2021/11/27(土) 20:27:12.12ID:czi6N/jr0 コードはこんな感じでいいですか?
https://jsfiddle.net/rj457v0q/
windows10 firefox 64bit 94.0.2のabout:newtabのコンソールでやった結果
11374, 1970, 2920
とかそれに似たような時間なんですが
同じ環境でJSFiddle に保存した際に実行された時間が
320, 1994, 2938
と1番目が早くなって結果が真逆になっています
どういう事なんでしょうか
https://jsfiddle.net/rj457v0q/
windows10 firefox 64bit 94.0.2のabout:newtabのコンソールでやった結果
11374, 1970, 2920
とかそれに似たような時間なんですが
同じ環境でJSFiddle に保存した際に実行された時間が
320, 1994, 2938
と1番目が早くなって結果が真逆になっています
どういう事なんでしょうか
124デフォルトの名無しさん (ワッチョイ 1333-BhQk [59.190.185.22])
2021/11/27(土) 21:17:39.73ID:czi6N/jr0 IronというChromeベースのブラウザでも試したところ
FirefoxからJSFiddleを開いてそこで走らせた時間と同じような結果になりました
FirefoxからJSFiddleを開いてそこで走らせた時間と同じような結果になりました
125デフォルトの名無しさん (ワッチョイ 2110-ZQOw [180.12.82.129])
2021/11/27(土) 22:00:25.94ID:w/hwUzDX0 element.addEventListener(
"mousemove",
function(e){alert(e.offsetX);}
);
このfunction(e)の部分はfunction(aaa,e,bbb){}のように引数を複数設定することはできますか?
e以外を渡すにはグローバルしかできないんですか?
"mousemove",
function(e){alert(e.offsetX);}
);
このfunction(e)の部分はfunction(aaa,e,bbb){}のように引数を複数設定することはできますか?
e以外を渡すにはグローバルしかできないんですか?
126デフォルトの名無しさん (ワッチョイ 3332-m/w5 [133.207.66.224])
2021/11/27(土) 23:25:49.55ID:QiKYnGor0127デフォルトの名無しさん (ワッチョイ 1333-BhQk [59.190.185.22])
2021/11/27(土) 23:48:23.24ID:czi6N/jr0 >>126
ありがとうございます。
Math.maxを使わず、
配列のまま計算させたほうがいいみたいですね。
3つ目もMath.maxを使ってますが使わないようにしても、
こちらはMath.max関数の呼び出し回数が1周1回なせいか短縮されませんでした。
ありがとうございます。
Math.maxを使わず、
配列のまま計算させたほうがいいみたいですね。
3つ目もMath.maxを使ってますが使わないようにしても、
こちらはMath.max関数の呼び出し回数が1周1回なせいか短縮されませんでした。
128デフォルトの名無しさん (ブーイモ MM8b-/4Ud [133.159.151.119])
2021/11/28(日) 12:42:42.78ID:TNNdgbH5M >>123
1つめのバグっとるよ
2つめのは連続する数が大きいのでも確かめないとパフォーマンス特性が分からない
jsbench.meみたいなところで試すといい
アルゴリズムのオーダー考えれば単純ループが一番高速
1つめのバグっとるよ
2つめのは連続する数が大きいのでも確かめないとパフォーマンス特性が分からない
jsbench.meみたいなところで試すといい
アルゴリズムのオーダー考えれば単純ループが一番高速
129デフォルトの名無しさん (ワッチョイ 3332-m/w5 [133.207.66.224])
2021/11/28(日) 21:15:40.16ID:P+UGlIn90130デフォルトの名無しさん (ワッチョイ 1333-BhQk [59.190.185.22])
2021/11/28(日) 21:21:54.23ID:PdYmCZpH0131デフォルトの名無しさん (テテンテンテン MM8b-PefI [133.106.57.30])
2021/11/28(日) 21:29:03.95ID:eSM912u0M >>125
どんな使い方をするのか想定コードを教えて
あと代入されるaaa,bbbの値はいつ確定する?
呼び出し時に確定するなら変数で置いとくしか無いし
関数定義する時点で確定してるなら引数にする必要が無い
どんな使い方をするのか想定コードを教えて
あと代入されるaaa,bbbの値はいつ確定する?
呼び出し時に確定するなら変数で置いとくしか無いし
関数定義する時点で確定してるなら引数にする必要が無い
132デフォルトの名無しさん (ワッチョイ 2110-kHZs [180.12.82.129])
2021/11/29(月) 12:33:33.13ID:nUjIBrRJ0 >>131
canvasの領域内をクリックしながらマウスを移動させたときの
canvas内のマウスの座標を得たいんだけど
mousedownでvar clickcyuu = 1;mouseupでclickcyuu=0;
mousemoveでclickcyuu===1ならばdrag_mouse_x = e.offsetX;drag_mouse_y = e.offsetY
とやりたかったのでfunction(e,clickcyuu){}としたかった
canvasの領域内をクリックしながらマウスを移動させたときの
canvas内のマウスの座標を得たいんだけど
mousedownでvar clickcyuu = 1;mouseupでclickcyuu=0;
mousemoveでclickcyuu===1ならばdrag_mouse_x = e.offsetX;drag_mouse_y = e.offsetY
とやりたかったのでfunction(e,clickcyuu){}としたかった
133デフォルトの名無しさん (テテンテンテン MM8b-PefI [133.106.249.166])
2021/11/29(月) 13:18:58.10ID:kIPjw4qWM134デフォルトの名無しさん (ワッチョイ c101-gtDo [126.243.41.97])
2021/11/29(月) 13:23:14.24ID:T3PYHNfj0135デフォルトの名無しさん (ワッチョイ 5961-MeBs [114.150.87.142])
2021/11/29(月) 15:20:06.33ID:0iOICyJy0 定期的にaddEventListener自体から引数渡したいって人出てくるけど
仮にできたとしてもaddEventListenerした時点で値が固定されることが考えから抜け落ちてるよね
>>132
引数渡したいならイベントハンドラに関数式使えば済むけど
複数のイベント仕込むなら一連の動作をこんな感じでclassかオブジェクトにした方が楽よ
https://jsfiddle.net/hgro7t5m/
仮にできたとしてもaddEventListenerした時点で値が固定されることが考えから抜け落ちてるよね
>>132
引数渡したいならイベントハンドラに関数式使えば済むけど
複数のイベント仕込むなら一連の動作をこんな感じでclassかオブジェクトにした方が楽よ
https://jsfiddle.net/hgro7t5m/
136デフォルトの名無しさん (ブーイモ MM45-/4Ud [210.138.176.81])
2021/11/29(月) 15:41:30.31ID:cAtmNTK4M クロージャ使えば普通にできるやろ
それに参照型ならaddEventListenerした後からでも値を変えられるよ
それに参照型ならaddEventListenerした後からでも値を変えられるよ
137デフォルトの名無しさん (ワッチョイ 1b46-D8AZ [111.98.111.65])
2021/11/29(月) 18:56:58.07ID:QQHq1BUR0 var か
138デフォルトの名無しさん (ワッチョイ c101-gtDo [126.243.41.97])
2021/11/29(月) 20:17:26.02ID:T3PYHNfj0139デフォルトの名無しさん (ワッチョイ efc3-wVd4 [159.28.152.184])
2021/12/04(土) 12:18:05.48ID:Zxe83BGy0 読み込みたいファイルのパスだけがわかっている場合に
reader= new FileReader();
reader.readAsText("aaa/hoge.csv") ;
みたいな感じで読み込もうと思ったんですが、
readAsTextの引数はblobだかfileオブジェクトでないとだめみたいで、
レファレンスを読んで見るも、
パスからblogだかfileオブジェクトだかを作成する方法がわかりませんでした。
ファイル読み込み自体は他の方法を使ってできるものの、
FileReaderとreadAsTextの組み合わせを使ってトライしてみたいので
どなたかアドバイスお願いできますでしょうか
reader= new FileReader();
reader.readAsText("aaa/hoge.csv") ;
みたいな感じで読み込もうと思ったんですが、
readAsTextの引数はblobだかfileオブジェクトでないとだめみたいで、
レファレンスを読んで見るも、
パスからblogだかfileオブジェクトだかを作成する方法がわかりませんでした。
ファイル読み込み自体は他の方法を使ってできるものの、
FileReaderとreadAsTextの組み合わせを使ってトライしてみたいので
どなたかアドバイスお願いできますでしょうか
140デフォルトの名無しさん (ワッチョイ 6f01-Mnqw [126.243.120.8])
2021/12/04(土) 12:36:24.21ID:6Q/yxXZX0 >>139
それが出来たら、ファイルの情報を盗み出せるようになるな
それが出来たら、ファイルの情報を盗み出せるようになるな
141デフォルトの名無しさん (ワッチョイ efc3-wVd4 [159.28.152.184])
2021/12/04(土) 12:48:45.94ID:Zxe83BGy0142デフォルトの名無しさん (テテンテンテン MM8f-FSU1 [133.106.200.234])
2021/12/04(土) 14:35:37.60ID:t4TtjIXNM むしろ他の方法とやらが気になる
143デフォルトの名無しさん (ワッチョイ 6f01-Mnqw [126.243.120.8])
2021/12/04(土) 14:36:47.65ID:6Q/yxXZX0 >>141
xhrは基本的にhttp接続しか出来ない
xhrは基本的にhttp接続しか出来ない
144デフォルトの名無しさん (ブーイモ MM87-rU9g [202.214.125.245])
2021/12/04(土) 16:15:20.01ID:4OadB/pcM145デフォルトの名無しさん (ワッチョイ 4b01-Z6Z9 [60.66.7.153])
2021/12/07(火) 11:51:05.11ID:sVKUttQ/0 ガチでヌーブなんですけどrequestsとbeautifulsoupでスクレイピングやってます
waitかけないとバンされるよと言われましたがどうすればいいですか?
requests.get()でtimeoutは今書きましたがforで同じサイトの似たようなページに何度もアクセスするのでサーバーへの負荷はすごいと思います
これに対してどうすればいいですか?
waitかけないとバンされるよと言われましたがどうすればいいですか?
requests.get()でtimeoutは今書きましたがforで同じサイトの似たようなページに何度もアクセスするのでサーバーへの負荷はすごいと思います
これに対してどうすればいいですか?
146デフォルトの名無しさん (ワッチョイ cf7b-2EUD [153.185.174.10])
2021/12/07(火) 11:56:58.02ID:PaA+NeG00 >>145
マルチ禁止
マルチ禁止
147デフォルトの名無しさん (ワッチョイ ef04-lq0O [223.134.134.66])
2021/12/09(木) 15:07:14.43ID:uyimWi/30 const test = [
{main:"A"},
{main:"B"},
{main:"C"}
]
から全てのmainをとり出した["A","B","C"]となる配列を作りたいです
forを使えば作れますが、もっと簡単に作れる便利なメソッドあったりしますか?
{main:"A"},
{main:"B"},
{main:"C"}
]
から全てのmainをとり出した["A","B","C"]となる配列を作りたいです
forを使えば作れますが、もっと簡単に作れる便利なメソッドあったりしますか?
148デフォルトの名無しさん (ワッチョイ 3f33-v359 [59.190.185.22])
2021/12/09(木) 15:32:51.58ID:gfmL2AFS0 const test = [
{main:"A"},
{main:"B"},
{main:"C"}
]
let testB = test.map(e=>e.main)
知っててコレジャナイ方法をきいてるのかもしれないけど
{main:"A"},
{main:"B"},
{main:"C"}
]
let testB = test.map(e=>e.main)
知っててコレジャナイ方法をきいてるのかもしれないけど
149デフォルトの名無しさん (ワッチョイ ef04-lq0O [223.134.134.66])
2021/12/09(木) 15:38:12.28ID:uyimWi/30150デフォルトの名無しさん (ワッチョイ ef04-lq0O [223.134.134.66])
2021/12/09(木) 15:51:07.69ID:uyimWi/30 許して下さい…
151デフォルトの名無しさん (ワッチョイ 1361-wVd4 [114.150.87.142])
2021/12/09(木) 16:09:45.62ID:CDvY1Ccm0 querySelectorAllの戻り値はArrayではなくNodeListだからね
hoge = Array.from(test).map(e => e.main);
hoge = Array.from(test).map(e => e.main);
152デフォルトの名無しさん (ブーイモ MMed-2CNx [210.138.208.223])
2021/12/10(金) 03:36:53.73ID:TbLIJEp/M hoge = Array.prototype.map.call(test,e => e.main);
とか
とか
153デフォルトの名無しさん (ワッチョイ 0bbb-4iyA [217.178.137.56])
2021/12/10(金) 20:33:15.32ID:Kd0T5CdW0 Pythonの
154デフォルトの名無しさん (ワッチョイ 0bbb-4iyA [217.178.137.56])
2021/12/10(金) 20:34:21.58ID:Kd0T5CdW0 PythonのコードですがどなたかJavascriptに直して下さい…
sorted(pts, key=clockwiseangle_and_distance)
import math
pts = [[2,3], [5,2],[4,1],[3.5,1],[1,2],[2,1],[3,1],[3,3],[4,3]]
Origin = [2, 3]
refvec = [0, 1]
def clockwiseangle_and_distance(point):
vector = [point[0]-Origin[0], point[1]-Origin[1]]
lenvector = math.hypot(vector[0], vector[1])
if lenvector == 0:
return -math.pi, 0
normalized = [vector[0]/lenvector, vector[1]/lenvector]
dotprod = normalized[0]*refvec[0] + normalized[1]*refvec[1]
diffprod = refvec[1]*normalized[0] - refvec[0]*normalized[1]
angle = math.atan2(diffprod, dotprod)
if angle < 0:
return 2*math.pi+angle, lenvector
return angle, lenvector
sorted(pts, key=clockwiseangle_and_distance)
import math
pts = [[2,3], [5,2],[4,1],[3.5,1],[1,2],[2,1],[3,1],[3,3],[4,3]]
Origin = [2, 3]
refvec = [0, 1]
def clockwiseangle_and_distance(point):
vector = [point[0]-Origin[0], point[1]-Origin[1]]
lenvector = math.hypot(vector[0], vector[1])
if lenvector == 0:
return -math.pi, 0
normalized = [vector[0]/lenvector, vector[1]/lenvector]
dotprod = normalized[0]*refvec[0] + normalized[1]*refvec[1]
diffprod = refvec[1]*normalized[0] - refvec[0]*normalized[1]
angle = math.atan2(diffprod, dotprod)
if angle < 0:
return 2*math.pi+angle, lenvector
return angle, lenvector
155デフォルトの名無しさん (ワッチョイ 7b04-YTVu [223.134.134.66])
2021/12/11(土) 11:19:38.29ID:kTfvj9Ya0 すんません
var hoge = test(); //←2個入った配列が返ってくるヤツ
var A = hoge[0];
var B = hoge[1];
って書いてます。
これもーちょっとカッコよく
var A B = test();
って感じで一行でAとBに変数に入れる方法とかあります?
var hoge = test(); //←2個入った配列が返ってくるヤツ
var A = hoge[0];
var B = hoge[1];
って書いてます。
これもーちょっとカッコよく
var A B = test();
って感じで一行でAとBに変数に入れる方法とかあります?
156デフォルトの名無しさん (ワッチョイ 1333-Ef8D [59.190.185.22])
2021/12/11(土) 11:55:24.52ID:4C+gjCbR0 var hoge = [1,9];
var [A,B] = hoge;
var [A,B] = hoge;
157デフォルトの名無しさん (ワッチョイ 7b04-YTVu [223.134.134.66])
2021/12/11(土) 11:56:54.19ID:kTfvj9Ya0158デフォルトの名無しさん (テテンテンテン MM6b-fD8e [133.106.48.27])
2021/12/12(日) 17:05:57.60ID:neOkkgxzM var obj={
key:{x:200,y:300}
}
obj.key2=500;
alert(obj.key2);
alert(obj.key.x);
上はオブジェクトで下はオブジェクトのオブジェクトです。
実行結果は上が500で下が200です。
一応動作はしますがこのような使い方は間違っていますか?
key:{x:200,y:300}
}
obj.key2=500;
alert(obj.key2);
alert(obj.key.x);
上はオブジェクトで下はオブジェクトのオブジェクトです。
実行結果は上が500で下が200です。
一応動作はしますがこのような使い方は間違っていますか?
159デフォルトの名無しさん (ワッチョイ e901-txWz [126.53.74.66])
2021/12/12(日) 18:15:54.15ID:vioicQgx0160デフォルトの名無しさん (ワッチョイ c910-BpYN [180.12.82.129])
2021/12/12(日) 18:40:13.36ID:MwcQtjtM0 >>159
文法的にはどうですか?
文法的にはどうですか?
161デフォルトの名無しさん (ワッチョイ e901-txWz [126.53.74.66])
2021/12/12(日) 19:22:12.57ID:vioicQgx0162デフォルトの名無しさん (ブーイモ MM3d-2CNx [202.214.230.79])
2021/12/12(日) 20:06:45.86ID:A9cM/MPAM 何に引っかかってるのか書かないと期待してる答えは返ってこない
特に変なところないし
特に変なところないし
163デフォルトの名無しさん (ワッチョイ c910-BpYN [180.12.82.129])
2021/12/13(月) 08:42:46.82ID:8aJMJMAP0 引数が多い場合の引数の渡し方について
function(
aaa,
bbb,
ccc,
・・・(略)
zzz
){}
って書くより
function(obj){
var aaa = obj.aaa;
var bbb = obj.bbb;
・・・・・(略)
var zzz = obj.zzz;
}
って書く方がいいんでしょうか?
どっちもメリット、デメリットはあると思うけど
function(
aaa,
bbb,
ccc,
・・・(略)
zzz
){}
って書くより
function(obj){
var aaa = obj.aaa;
var bbb = obj.bbb;
・・・・・(略)
var zzz = obj.zzz;
}
って書く方がいいんでしょうか?
どっちもメリット、デメリットはあると思うけど
164デフォルトの名無しさん (ワッチョイ e901-txWz [126.141.164.97])
2021/12/13(月) 13:06:28.94ID:CRKwXgwv0165デフォルトの名無しさん (ワッチョイ 614e-ohB/ [210.138.216.243])
2021/12/13(月) 15:27:20.29ID:+BabEBNV0 下のほうなら
const f = function({aaa, bbb, zzz}){
console.log(aaa, bbb, zzz);
}
のほうが分かりやすくないか
const o = {
aaa: 'あ',
bbb: 42,
zzz: 'ん',
};
f(o);
const f = function({aaa, bbb, zzz}){
console.log(aaa, bbb, zzz);
}
のほうが分かりやすくないか
const o = {
aaa: 'あ',
bbb: 42,
zzz: 'ん',
};
f(o);
166デフォルトの名無しさん (テテンテンテン MM6b-cqSP [133.106.48.47])
2021/12/13(月) 18:56:15.12ID:hdHWXJOsM167デフォルトの名無しさん (テテンテンテン MM6b-cqSP [133.106.48.47])
2021/12/13(月) 18:56:54.87ID:hdHWXJOsM168デフォルトの名無しさん (テテンテンテン MM6b-fD8e [133.106.52.36])
2021/12/14(火) 13:31:35.06ID:qf3fX3jjM var str="x^2 + (x+2)^2 - (x*(x-2))^3";
をMath.pow(x,2)+Math.pow((x+2),2)-
Math.pow((x*(x-2)),3)に置換するにはどうやればいいんですか?
をMath.pow(x,2)+Math.pow((x+2),2)-
Math.pow((x*(x-2)),3)に置換するにはどうやればいいんですか?
169デフォルトの名無しさん (ワッチョイ f902-8/hI [124.215.44.217])
2021/12/14(火) 15:01:16.14ID:82CERvuP0 Math.powを使わなければ簡単なんだけどね
eval(str.replace(/\^/g, '**'));
eval(str.replace(/\^/g, '**'));
170デフォルトの名無しさん (ワッチョイ 0b7b-1/S7 [153.185.174.10])
2021/12/14(火) 15:08:13.94ID:4lV7iDvz0 スペース含まない半角文字列限定。式の文字列つくるまで。
賢い人ならもうちょっとスマートに書けるかと。
var str="x^2+(x+2)^2-(x*(x-2))^3";
function func(s){
var s2=s.split('^');
var s3=s2[1].replace(/¥d+/,"");
return "Math.pow("+s2[0]+","+s2[1].replace(/[^¥d]/,"")+")"+s3;
}
var result=str.replace(/[a-z¥(¥)¥d¥*¥+¥-¥/]+¥^¥d+([¥+¥-¥*¥/]|$)/g,func);
賢い人ならもうちょっとスマートに書けるかと。
var str="x^2+(x+2)^2-(x*(x-2))^3";
function func(s){
var s2=s.split('^');
var s3=s2[1].replace(/¥d+/,"");
return "Math.pow("+s2[0]+","+s2[1].replace(/[^¥d]/,"")+")"+s3;
}
var result=str.replace(/[a-z¥(¥)¥d¥*¥+¥-¥/]+¥^¥d+([¥+¥-¥*¥/]|$)/g,func);
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- 【卓球】早田ひな、「総額100万スられた」「ずっと憧れていたスペインとイタリア…」ヨーロッパ旅行で悲劇 スリ被害を告白 [muffin★]
- 万引きJC「すいません許してください!何でもしますから!」←どうする?
- Perfume・あ~ちゃんの結婚相手の一般男性、吉田カバンの社長と判明 [977261419]
- 自民党議員「高市は先人が築き上げた日中関係を壊した。外務省が謝罪に言ってるが自分で責任を取れ」 [834922174]
- 5時だから窓から5回ちんこ出した
- 「黙らせてやろうと思った」自宅マンション10階から高校テニスコート内の女子生徒目掛けて貯金箱を投擲した女の子、殺人未遂で逮捕 [399583221]
- 岡田克也「軽々しく存立危機事態とか言うべきじゃない」高市早苗「台湾で武力攻撃が発生したらどう考えても日本の存立危機事態」 [931948549]
