PUROGU LADESU

ポエムがメインのブログです。

2022-12-01から1ヶ月間の記事一覧

AtCoder Beginners Selectionをやってみたら出来なかった

ABC086A - Product 簡単ABC081A - Placing Marbles 簡単ABC081B - Shift only 簡単ABC087B - Coins 簡単ABC083B - Some Sums 簡単ABC088B - Card Game for Two 簡単ABC085B - Kagami Mochi 簡単ABC085C - Otoshidama 考え方はあっていたがミスで失敗ABC049C …

【Javascript】オブジェクト配列で指定キーのmin, maxを取得する

オブジェクト配列で指定キーのmin, maxを取得する reduceを使います。 prevとcurrentをキーで比較し、オブジェクトをreturnします。 const data = [ { name: "aaa", score: 90 }, { name: "bbb", score: 30 }, { name: "ccc", score: 20 }, { name: "ddd", s…

【Javascript】Promiseの復習

Promise Promiseは非同期処理のためのものです。 時間のかかる処理を使う場合に必要です。 ややこしいですがDBやネットワーク処理などかなり使い所が多いのでこれは必ずマスターする必要があります。まず、目的の処理を作成し、new Promiseでラップします。 …

Javascriptの落とし穴6

JSON JSONとオブジェクトリテラルは変換が必要。でも簡単にできる。 console.log(JSON.parse('{"x":1,"y":2,"z":3}')); console.log(JSON.stringify(obj3)); オブジェクト変更の制限 use strictを宣言しないと効果がない(IEでは無効) Object.preventExtens…

Javascriptの落とし穴5

クラス(プロトタイプ) Javascriptではプロトタイプベースという方式でクラスを実現しています。 これが一番クセ者です。ES6ではclassキーワードが使えるようになり、多少マシになりましたが。コンストラクタはただの関数リテラルです。コンストラクタ、メ…

Javascriptの落とし穴4

関数 1.function命令 通常のやり方。解析時に登録され、宣言より上からでも呼び出せる console.log(getPlus(8)); function getPlus(x) { return x + 10; }2.Functionオブジェクト 文字列として定義できる。ただ必要ない限り使わない。 var getTri = new Func…

Javascriptの落とし穴3

正規表現でキャプチャしたい場合はmatchではなくmatchAllかexecを使う matchはgをつけると複数認識するが、キャプチャを返さない。 ilet optlist = [ '<select name="country">', '<option value="us" selected>アメリカ 合衆国</option>', '<option value="fr">ふらんす</option>', '<option value="in">インド</option>', ].join("\n"); console.log(optlist); let regexp2 = new </select>…

Javascriptの落とし穴2

配列の初期化 配列の宣言のときArrayオブジェクトをnewしてはいけません。バグのもとです。 リテラル[]で初期化します。 わざわざnewしなくても同じことができます。 let bad = new Array(11, 22, 33); let good = [1, 22, 33]; 配列のコピー スプレッド構文…

Javascriptの落とし穴1

Javascriptはクセがスゴイ ブラウザさえあれば動くし何となくかけるものの危険がいっぱいです。 シンタックスもES6が出てきて劇的に変わったり、ブラウザ問題もあります。 Node.jsでは動作が違ったりここでも使える使えない問題が発生したりします。 JSフレ…