2023年 1月 の投稿一覧
【JavaScript】スプレッド構文とmapを使ってみる
配列namesに格納した文字列の中で最長の文字列を求める
Math.maxとmapメソッドとスプレット構文を使用したが、このときmapメソッドにより新しく生成された配列は使用されないため、forEachを使用する方が良い気がする。
スプレット構文とmapを使用するパターンはあまりよくないパターンかもしれない。
やっぱり、このとき無駄な配列を生成しているからダメなコード例だな。
const names = ['url', 'scheme', 'slash', 'host', 'port', 'path', 'query', 'hash'];
//この場合、mapメソッドで新しく生成した配列を使用しない
const stringLengthMax = Math.max(...names.map(v => v.length));
let stringLengthMax2 = 0;
//forEachを使う
names.forEach(v => {if(stringLengthMax2 < v.length) stringLengthMax2 = v.length;});
console.log("stringLengthMax = " + stringLengthMax);//6
console.log("stringLengthMax2 = " + stringLengthMax2);//6
続きを読む 【JavaScript】string.match(regexp)とregexp.exec(string)で正規表現にgフラグがセットされていた場合
regexp.exec(string)において、gフラグがセットされていた場合、検索が文字列の先頭から行われるのではなくregexp.lastIndexプロパティの場所から行われるようになる(この値は最初は0にセットされている)。もしマッチが成功した場合、regexp.lastIndexはマッチした場所の次の文字の場所にセットされる。もしマッチが失敗した場合は0にリセットされる。
これを利用すれば、ループの中でexecを同じ文字列に対して何度も呼び出すことで、文字列中に複数存在するパターンをすべて探し出すことができる。
string.match(regexp)において、gフラグがセットされていた場合、このメソッドはすべてのマッチ結果を配列で返すが、キャプチャグループによるキャプチャ結果は取得できなくなる。
【JavaScript】URLにマッチする正規表現
URLからurl、scheme、slash、host、port、path、query、hashを正規表現を使って抜き出す。
これはstring.match(regexp)とregexp.exec(string)を使用すると実現できる。
JavaScript スプレッド構文(Spread syntax)
スプレッド構文を使ってみる。
配列の要素を展開できる。
例を次に示す。
【2023】伊是名夏子の活動
世間から障害年金不正受給とヘルパー不正受給が非難されている伊是名夏子は一生涯、ネット上での監視が必要と考えます。私は自分のブログにまとめていきます。
続きを読む東映の教育映像に伊是名夏子が出演している
好き嫌い.comの伊是名夏子スレで教えてもらったが、
東映の教育映像に伊是名夏子が出演している。
世間から障害年金不正受給とヘルパー不正受給が非難されている伊是名夏子が教育映像に出ている。
youtubeの動画のアップロードが2023年1月4日になっているな。
去年くらいに作ったということか。何故、伊是名夏子なんかを起用したのか?
【JavaScript】URLフラグメント(fragmen)とハッシュ(hash)
URLにおいて、「#」より後ろの「fragment」をURLフラグメントと言う。
URLの「#」記号よりも後ろの部分のことを,URLのハッシュ(hash)という。
DOMの文脈だったり,JavaScriptでコーディングする場合は「ハッシュ」(URLのハッシュ)と俗に呼ぶ。
技術用語としての正式名称は「URLフラグメント(URL fragment)」と参考にしたwebサイトに書いてあるな。
それから、「#以降の文字列はサーバーには送られない」ことに注意する。
var url = "http://www.ora.com:80/goodparts/?q#fragment";
続きを読む 【JavaScript】正規表現の肯定先読みと否定先読み
JavaScript:the good parts 「良いパーツ」によるベストプラクティス [ ダグラス・クロフォード ] ExternalLink P85~86には、肯定先読み「(?=)」と否定先読み「(?!)」は「良いパーツ」ではないと書いてある。P85~86には、肯定後読み「(?<=)」と否定後読み「(?<!)」が載っていない。
これってGood Partsが発売後に追加された機能なのか?
【Javascript】String.slice(start,end)
—JavaScript:the good parts 「良いパーツ」によるベストプラクティス [ ダグラス・クロフォード ] ExternalLink P105 ここらから–
sliceメソッドはある文字列の一部をコピーした新しい文字列を生成する。startパラメータが負の値なら、string.lengthの値を加算した値が利用される。endパラーメータは省略可能であり、デフォルト値はstring.lengthである。endパラメータに負の値が指定された場合も、string.lengthの値が加算される。endパラメータの値は、必要な最後の文字の位置よりも1つ大きい位置を指定する。したがって、pの位置からn文字分の文字を取得したい場合は、string.slice(p,p+n)のように指定する。
—JavaScript:the good parts 「良いパーツ」によるベストプラクティス [ ダグラス・クロフォード ] ExternalLink P105 ここまで–
文字列は0番目始まりのようだな。
最近のコメント