JavaScript の便利な配列トリック 12 選

JavaScript の便利な配列トリック 12 選

配列は、Javascript で最も一般的な概念の 1 つです。配列は、データ処理のさまざまな可能性を提供します。配列の一般的な操作のいくつかに精通する必要があります。

アレイ重複排除

1. from() を新しい Set() メソッドに重ねる

文字列または数値配列から重複を削除するには、from メソッドを直接使用できます。

var plants = ['土星', '地球', '天王星', '水星', '金星', '地球', '火星', '木星'];
var uniquePlants = Array.from(new Set(plants)); 
console.log(uniquePlants); // [ '土星', '地球', '天王星', '水星', '金星', '火星', '木星' ]

2. スプレッド演算子 (…)

スプレッド演算子は ES6 の主要な革新であり、多くの強力な機能を備えています。

var plants = ['土星', '地球', '天王星', '水星', '金星', '地球', '火星', '木星'];
var uniquePlants = [...新しいSet(plants)]; 
console.log(uniquePlants); // [ '土星', '地球', '天王星', '水星', '金星', '火星', '木星' ]

配列内の特定の値を置き換える

splice() メソッドは、配列に項目を追加または配列から項目を削除し、削除された項目を返します。このメソッドは元の配列を変更します。値を挿入する場所に特に注意してください。

// arrayObject.splice(インデックス、数、項目1、.....、項目X)

var plants = ['土星', '天王星', '水星', '金星', '地球', '火星', '木星'];
var result = plants.splice(2, 1, 'www.shanzhonglei.com')
console.log(plants); // ['土星','天王星','www.shanzhonglei.com','水星','金星','地球','火星','木星']
console.log(結果); // ['Mercury']

map() を使わずに配列をマッピングする

まずはマップ方式を紹介しましょう。 map() メソッドは新しい配列を返します。配列内の要素は、関数を呼び出した後の元の配列要素の値です。元の配列要素の順序で要素を処理します。注意: map() は元の配列を変更せず、空の配列の検出も実行しません。

マップなしで配列マッピングを実装してみましょう。

// 配列.map(function(currentValue,index,arr), thisValue)

var 植物 = [
    { 名前: "土星" },
    { 名前: "天王星" },
    { 名前: "水星" },
    { 名前: "金星" },
]
var plantsName = Array.from(plants, ({ name }) => name);
console.log(plantsName); // [ '土星', '天王星', '水星', '金星' ]

空の配列

配列をクリアしたい場合は、配列の長さを 0 に設定するだけです。これは少し単純です。

var plants = ['土星', '地球', '天王星', '水星', '金星', '地球', '火星', '木星'];
植物の長さ = 0;
console.log(植物); // []

配列をオブジェクトに変換する

配列をオブジェクトに変換する場合、最も速い方法はスプレッド演算子 (...) を使用することです。

var plants = ['土星', '地球', '天王星', '水星', '金星', '地球', '火星', '木星'];
var plantsObj = { ... 植物 }
console.log(plantsObj); // {'0': '土星','1': '地球', '2': '天王星','3': '水星','4': '金星','5': '地球','6': '火星','7': '木星'}

配列にデータを入力する

配列に何らかのデータを入力する必要がある場合、または同じ値のデータが必要な場合は、fill() メソッドを使用できます。

var plants = new Array(8).fill('8');
console.log(植物); // ['8', '8', '8', '8', '8', '8', '8', '8', '8']

配列の結合

もちろん、concat() メソッドを思い浮かべるでしょうが、スプレッド演算子 (...) も非常に便利です。これは、スプレッド演算子の別の応用です。

var plants1 = ['土星', '地球', '天王星', '水星'];
var plants2 = ['金星', '地球', '火星', '木星'];
console.log([...plants1, ...plants2]); // ['土星', '地球','天王星', '水星', '金星', '地球','火星', '木星']

2つの配列の交差

2 つの配列の交差部分を見つけるには、まず配列に重複がないことを確認し、次に filter() メソッドと include() メソッドを使用します。

var plants1 = ['土星', '地球', '天王星', '水星', '金星', '地球', '火星', '木星'];
var plants2 = ['土星', '地球', '天王星'];
var alonePlants = [...new Set(plants1)].filter(item => plants2.includes(item));
console.log(alonePlants); // [ '土星', '地球', '天王星' ]

配列から偽の値を削除する

データを処理するときに誤った値を削除する必要があることがよくあります。 JavaScript では、偽の値は false、0、" "、null、NaN、undefined です。

var plants = ['土星', '地球', null, undefined, false, "", NaN, '天王星', '水星', '金星', '地球', '火星', '木星'];
var trueArr = plants.filter(ブール値);
console.log(trueArr); // ['土星', '地球', '天王星', '水星', '金星', '地球', '火星', '木星']

配列からランダムな値を取得する

配列の長さに基づいてランダムなインデックス番号を取得できます。

var plants = ['土星', '地球', '天王星', '水星', '金星', '地球', '火星', '木星'];
console.log(plants[Math.floor(Math.random() * (plants.length + 1))])

lastIndexOf() メソッド

lastIndexOf() は、要素が最後に出現したインデックスを見つけるのに役立ちます。

// 配列.reduce(関数(合計、現在の値、現在のインデックス、arr)、初期値)

var 数値 = [1, 2, 3, 4, 5];
var sum = nums.reduce((x, y) => x + y);
console.log(合計); // 15

配列内のすべての値を追加する

Reduce() メソッドは関数を累積器として受け取り、配列内の各値 (左から右へ) が単一の値に減らされます。

// 配列.reduce(関数(合計、現在の値、現在のインデックス、arr)、初期値)

var 数値 = [1, 2, 3, 4, 5];
var sum = nums.reduce((x, y) => x + y);
console.log(合計); // 15

これで、JavaScript の便利な配列テクニック 12 個に関するこの記事は終了です。JavaScript 配列に関するより関連性の高いコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • JavaScript es6 の新しい配列メソッドの詳細な説明
  • JS配列メソッドの詳細な説明
  • JavaScript配列の一般的なメソッドの詳細な説明
  • JavaScript配列の一般的なメソッドの概要
  • JS配列の一般的な方法とテクニックを学び、マスターになりましょう

<<:  Jenkins は Docker イメージを構築し、Harbor ウェアハウスにプッシュします

>>:  HTMLフォームアプリケーションにはチェックボックスとラジオボタンの使用が含まれます

推薦する

ディスクを破壊せずに Linux で dd コマンドを使用する方法

故障したストレージ ドライブからデータを救出する場合でも、アーカイブをリモート ストレージにバックア...

HTML でのフォームとフォーム送信操作に関する情報のコレクション

ここでは、フォーム要素とフォーム送信に関する知識を紹介します。フォーム要素フォーム要素の DOM イ...

HTML フォームタグチュートリアル (2):

このチュートリアルでは、ウェブデザインにおけるFORMフォームタグのさまざまな属性の応用を紹介します...

MySQLインデックスが使用されない状況のまとめ

MySQL のインデックスの種類一般的に、次の 4 つのカテゴリに分類できます。通常のインデックス:...

Vue要素のバックグラウンド認証プロセスの分析

序文:最近、プロジェクトで管理システムに遭遇しました。権限設定が非常に興味深いと思いました。自分の学...

node.jsのコアモジュールとは

目次グローバルオブジェクトグローバルオブジェクトとグローバル変数プロセスコンソール一般的なツールユー...

MySQL 8.0.22 圧縮パッケージの完全なインストールと構成のチュートリアル図 (テスト済みで効果的)

1. zipインストールパッケージをダウンロードするMySQL サーバー 8.0.22 の圧縮パッ...

npmとcnpmを混在させる際の落とし穴の詳細な説明

目次原因理由NPM の紹介: CNPM の紹介:より良い方法方法の改善npm と cnpm を一緒に...

Windows 8 での ssh コマンドの使用記録

1. 仮想マシンとgit bashウィンドウを開き、接続の準備をします2. 仮想マシンでifconf...

Windowsタイムサーバーの設定方法の詳しい説明

最近、会社のサーバーの時間が不正確で、外部の時間ソースと同期できないことがわかりました。会社はドメイ...

Alibaba Cloud Centos7.X で外部にポートを開く方法

一言で言えば、大手メーカーからクラウド サーバーを購入する場合は、セキュリティ グループに移動して、...

MySQL binlog を開く手順

Binlog は、MySQL データの変更を記録するために使用されるバイナリ ログ ファイルです。B...

モバイルウェブ画面適応(rem)

序文最近、フロントエンドの学習に関する以前のメモを整理したところ、モバイル Web 画面の適応 (r...

シャトルボックス機能を実装するためのVueの詳細なコード

Vue - シャトルボックス機能を実装します。効果図は次のようになります。 CS 。移行{ ディスプ...

リモートホスト上でスクリプトや命令を実行する Zabbix の詳細な説明

シナリオ要件1. zabbix_server Web インターフェースのスクリプト機能を使用すると、...