2023年 2月 の投稿一覧

Colaboが伊是名夏子らしき写真を過去にupしていた

好き嫌い.comの伊是名夏子スレに、colaboがネットのどっかにアップロードしたらしい写真が貼ってあった。この写真は顔が隠れているが、「伊是名夏子では?」という意見が好き嫌い.comで出ている。
この写真だけでは判断しずらいな。
colabo仁藤夢乃と伊是名夏子一家が写った写真が出回っているから、そのうちColaboと伊是名夏子が深く繋がっていたら次々にColaboと伊是名夏子の写真が発見されるだろうから、気長に待つかな。

続きを読む

【JavaScript】forEachとarguments

配列はforEach文が使用可能である。
しかし、配列ではなくオブジェクトの場合、forEach文は使用不可能である。
こんな時は、object.key()を使ってオブジェクトのキー(プロパティ名)の配列を通常のループで取得するのと同じ順序で得ることができる。
つまりobject.key().forEach()とする。

すべての関数は実行されるときにthisとargumentsを受け取る。
argumentsはlengthプロパティが存在するためオブジェクトと思いきや、argumentsは配列に似たオブジェクトである。このためargumentsにはforEach文が使用不可能である。

配列の要素を取り出すfor文をforEach文に書き換えをしていると、argumentsの値を取り出すfor文をforEach文に書き換えができなかった。
調べると、argumentsはオブジェクトでありforEach文を使用不可能だった。

「argumentsの値を取り出す」の言い方は正しいのか?よく分からん。

続きを読む

【JavaScript】Array.prototype.concatメソッドとArray.prototype.reduce()メソッド

concatメソッドは、自分自身の配列と引数として渡された要素を連結して、新しいコピー配列を生成する。もし引数として渡された要素が配列なら、そこに含まれる要素がそれぞれ新しく作られた配列に追加される。
concatメソッドとスプレット構文(Spread syntax)とreduceメソッドを使うと2次元配列を1次元配列に変換できる。
簡単に2次元配列を1次元配列に変換可能なことに驚いたわ。

concatenate (他)《コ》[文字などを]連結させる
concatenation (名)(U)連続,連結
spread (自)広がる (他)を広げる

続きを読む

【JavaScript】Array.prototype.reduce()

Array.prototype.reduce()はややこしいな。

簡単な使い方
reduceメソッドで配列の中の数値をすべて足して合計値を求める。
reduceメソッドで配列の中の文字列をすべて連結した文字列を作る。
初期値に関しては、空の配列を初期値なしで実行するとエラーになったり、予期せぬ実行結果になったりする可能性があるため、初期値は設定した方がいい。
配列の中の文字列を連結したいならjoinメソッド使った方が記述内容も少なくて分かりやすいな。

reduce (他)を減らす

配列の中の数値を全部合計する処理にreduceメソッド使えるな。
しかし、なんでreduceという名前なんだ?「減らす」という意味だよな。

続きを読む

【JavaScript】Array.prototype.map()

Array.prototype.map() メソッドは、与えられた関数を配列のすべての要素に対して呼び出し、
その結果からなる新しい配列を生成する。
mapメソッドで返された配列を使用しない場合はmapメソッドを使用すべきではない。

続きを読む

【JavaScript】正規表現の肯定先(後)読みと否定先(後)読み

正規表現の肯定先(後)読みと否定先(後)読みは^(先頭)、$(末尾)、\b(単語の境界)同様に「位置へのマッチ」である。
この「位置へのマッチ」はアンカーと呼ばれる。
長さ0の文字列にマッチすると考えて、ゼロ幅アサーション(zero-length assertion)やゼロ幅マッチ(zero-length match)とも呼ばれる。

assertion(名)《コ》アサーション◆プログラムの形式検証における成立条件

続きを読む