カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

Vite+React 簡単プロジェクト生成

create-react-appは更新が停止しているらしく、最近はViteでプロジェクトを生成するのが主流になりつつあるらしいです。
簡単にできるので早速試してみました。
npmyarnを使ってやってみたので、両方の例を紹介します。

Vite

Viteがインストールされていない場合は以下のコマンドでインストールします。

nom install -g vite

npm

まずはプロジェクト生成

npm create vite@latest

コマンドを実行するとプロジェクト名・フレームワーク選択・使用言語を聞かれるので、
入力・選択してください。

Project name: vite-project
Select a framework: React
Select a variant: Javascript

上記入力が完了するとプロジェクト名のフォルダが出来上がるので、
同フォルダに移動して以下のコマンドを順に実行します。

cd vite-project

依存ライブラリをインストール

npm install

開発用ビルド

npm run dev

ローカルのURLが表示されるのでブラウザでアクセス。
画面が表示されたらプロジェクト生成の完了です。

本番用ビルド

npm run build

本番用プレビュー

npm run preview

続きを読む…»

179 views

JavaScriptで10進数を2・8・16進数に変換

NumberオブジェクトのtoStringメソッドを使って、基数変換を行うことができます。

まずは10進数で変換する値を宣言しておきます。

const dec = 500;

2進数に変換

const bin = dec.toString(2);
console.log(bin);

出力結果は111110100となります。

8進数に変換

const oct = dec.toString(8);
console.log(oct);

出力結果は764となります。

16進数に変換

const hex = dec.toString(16);
console.log(hex);

出力結果は1f4となります。


今度は逆の変換をしていきましょう。
各進数を10進数に変換するときはparseInt()関数を使います。

書式:parseInt(string, radix)

第1引数は文字列です。数値を指定しても文字列に変換して処理されます。
第2引数は第1引数で指定した文字列の基数を指定します。(2 <= radix <= 36

出力結果は全て500となります。

2進数を10進数に変換

const dec = parseInt('111110100', 2);
console.log(dec);

続きを読む...»

811 views

jQueryでチェックボックスの全選択・全解除を実装する

jQueryでチェックボックスの全選択、及び全解除の仕組みを実装する方法をご紹介します。
jQueryを使いますので、jQueryの読み込みを忘れないようにしてください。

以下のようなHTMLがあったとします。

<input type="checkbox" name="all_check">全選択

<input type="checkbox" name="check[]" value="">a
<input type="checkbox" name="check[]" value="">b
<input type="checkbox" name="check[]" value="">c
<input type="checkbox" name="check[]" value="">d
<input type="checkbox" name="check[]" value="">e
<input type="checkbox" name="check[]" value="">f

まずは全選択のチェックボックスにチェックを入れると全てのチェックボックスにチェックが入るようにしましょう。

$('input[name="all_check"]').on('click',function() {
    $('input[name="check[]"]').prop('checked', this.checked);
});

次に、各チェックボックスのクリックイベントを設定し、チェックの状況によって全選択のチェック状態を変更するように仕組みます。
チェックボックスの数とチェックされたチェックボックスの数を比較して、同じであれば(全てチェックされていれば)全選択にもチェックを入れます。
どれか1つでもチェックが外れれば全選択のチェックは解除します。

$('input[name="check[]"]').on('click',function(){
    if($('input[name="check[]"]:checked').length == $('input[name="check[]"]').length ) {
        $('input[name="all_check"]').prop('checked', true);
    } else {
        $('input[name="all_check"]').prop('checked', false);
    }
});

if文を使わずに1行で書くこともできます。

$('input[name="check[]"]').on('click',function(){
    $('input[name="all_check"]').prop('checked', ($('input[name="check[]"]:checked').length == $('input[name="check[]"]').length));
});
1,510 views

JavaScriptで指定した要素が配列に存在するか調べる

JavaScriptで指定した要素が配列に存在するか調べる方法はいくつかあります。
そのうちの一部を紹介します。

indexOf

引数に指定した値が配列の何番目にあるかをインデックスで返します。

const array = [1, 2, 3];
console.log( array.indexOf(2) );

出力結果

1

結果はインデックスなので、2番目なら1になります。

find (ES2015[ES6])

指定した条件に一致する最初の要素を返します。

const array = [1, 2, 3, 4, 5];

console.log(
    array.find(function(element) {
        return element < 3 // 3より小さい
    })
);

出力結果

1

アロー関数(ES2015[ES6])にするとこんな感じ

array.find((element) => {
    return element < 3 // 3より小さい
})

より短く

array.find(element => element < 3)

続きを読む…»

357 views

JavaScriptで配列の値を合計する

JavaScriptにもPHPのarray_sumみたいな関数があったらな~とずっと思っていました。
ふとまた調べているとそれに近しい感じに出来るメソッドがあったのでご紹介します。

とりあえず配列を用意

const nums = [12, 23, 35, 41, 56, 64, 77];

関数を使った普通のやり方

const sum = function(nums) {
	let total = 0;
	for (let i = 0, len = nums.length; i < len; i++) total += nums[i];
	return total;
};

const total = sum(nums);

console.log({total});

ちなみに出力結果はこの通り

{ total: 308 }

そして調べていて発見したのがArray.reduceメソッドです。
書式:配列名.reduce( コールバック関数(結果の値, 要素の値), [初期値] )
初期値は省略可です。
続きを読む…»

8,772 views