javascript

SequelizeでwhereHasを行う

include内のrequired値をtrueにすることでwhereHasと同じ挙動の動作をさせることができる。 falseの場合は、ORMのリレーションの結果が0件でも取得できる。 attributesを[]にすることで、whereHasだけを利用することも可能。 XXX.findAll({ where: findAllPa…

jsでテキストをclipboardにcopyする

javascriptで外部モジュールなしに、クリップボードへコピーする方法を紹介する。 以下の関数で動く。 copyToClipboard(text){ navigator.clipboard.writeText(text).then(function() { /* clipboard successfully set */ }, function() { /* clipboard writ…

mailparserで `iso-2022-jp` を扱う

メールが文字化けをしてしまう 何も考えずに mailparser を利用すると、 iso-2022-jp の文字コードの日本語文字が文字化けしてしまう。 これを対処するには、 iconv を利用することで解決することができる。 まず、 iconv をinstallする。 npm i iconv MailP…

jestを扱う上で参考にしたサイト

package.jsonの設定はこのQiita記事を参考にした restify + TypeScript + Jestの開発環境をセットアップしてみる - Qiita axiosを使ったりDB連携で参考にした Jestでテストを書こう! setupとteardown、jestの公式ドキュメント Setup and Teardown · Jest わ…

javascriptの配列初期化におけるナゾ

javascriptで以下の操作で2次元配列を生成すると、値の更新を行う際に列ごと更新がかかる。 let cost_array = (new Array(3)).fill((new Array(3)).fill(999)) cost_array[1][1] = 3 生成した配列に対して、mapで2次元配列を作ってあげると、単一の要素が更…

javascript の reduce() でディクショナリを扱う

javascript で ディクショナリの配列を reduce() する際に配下の方法が一般的である。 var initialValue = 0; var sum = [{x: 1}, {x: 2}, {x: 3}].reduce(function (accumulator, currentValue) { return accumulator + currentValue.x; },initialValue) co…

【js】次の要素を取得・隠す

javascript <button>非表示へ</button> <div id="next">これが消えます<div>function hideNext(e){ var nextElement = e.nextElementSibling; if (nextElement.style.display !== 'none') { nextElement.style.display = 'none'; e.innerHTML = ' 表示 '; } else { nextElement.style.display = 'b</div></div>…

【Laravel】cssファイルやjsファイルを読み込む

jsファイルとcssファイルはプロジェクトに自動的に作成される「public」フォルダ配下に入れる。publicフォルダ配下に自由にjsファイルやcssファイルを入れることになるが、 管理のしやすさのためにpublicフォルダの中に「js」フォルダと「css」フォルダを作…