検索
ホームページウェブフロントエンドフロントエンドQ&AJavaScriptは配列内で繰り返されません

Javascript は一般的に使用されるスクリプト言語であり、Web 開発の分野で広く使用されています。配列は、JavaScript で最も重要なデータ型の 1 つです。開発中は、データをより効率的に処理するために配列の重複排除が必要になる場合があります。この記事ではJavaScriptで配列から重複した要素を削除する方法を紹介します。

  1. Set オブジェクトの使用

JavaScript の Set オブジェクトは、一意の値のセットを格納できるコレクション データ構造です。 Set オブジェクトを使用して、配列から重複要素を削除できます。具体的なコードは次のとおりです:

let arr = [1, 2, 3, 3, 4, 4, 5];
let uniqueArr = [...new Set(arr)];
console.log(uniqueArr); //[1, 2, 3, 4, 5]

ここでは、最初に重複要素を含む配列 arr を定義し、次に ## を使用します#new Set( arr)Set オブジェクトを作成し、スプレッド演算子を介して配列に変換します...

    Array.prototype.reduce() メソッドを使用する
重複を削除する別の方法は、reduce() メソッドを使用することです。 reduce() メソッドは、配列の各要素に関数を適用し、その結果を 1 つの値に要約します。重複排除操作では、各要素をオブジェクトのキーとして保存し、それに応じて重複する要素をスキップできます。具体的なコードは次のとおりです。

let arr = [1, 2, 3, 3, 4, 4, 5];
let uniqueArr = arr.reduce(function(acc, current) {
  if (acc.indexOf(current) === -1) {
    acc.push(current);
  }
  return acc;
}, []);
console.log(uniqueArr); //[1, 2, 3, 4, 5]

ここでは、reduce() メソッドを使用して配列

arr の各要素を走査します。acc は累積値を表し、 current は現在の要素を表します。各反復で、現在の要素が acc 配列に既に存在するかどうかを確認し、存在しない場合は配列にプッシュします。

    Array.prototype.filter() メソッドを使用する
重複を削除する別の方法は、filter() メソッドを使用することです。 filter() メソッドは、特定の条件に基づいて配列内の要素をフィルタリングできます。重複排除操作では、カスタム条件に従って配列内の要素をフィルター処理して、重複した要素を削除できます。具体的なコードは次のとおりです:

let arr = [1, 2, 3, 3, 4, 4, 5];
let uniqueArr = arr.filter(function(item, index) {
  return arr.indexOf(item) === index;
});
console.log(uniqueArr); //[1, 2, 3, 4, 5]

ここでは、filter() メソッドを使用して配列内の各要素をチェックします。要素が配列内の最初の位置にある場合、その要素は保持されます。

要約すると、JavaScript には、配列から重複要素を削除するためのさまざまなメソッドが用意されています。開発者は、プロジェクトの要件に基づいて、この操作を実装するためのさまざまな方法を選択できます。ただし、大規模な配列を扱う場合、一部のメソッドを使用するとパフォーマンスの問題が発生する可能性があるため、慎重に選択する必要があることに注意してください。

以上がJavaScriptは配列内で繰り返されませんの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
ReactのSEOに優しい性質:検索エンジンの可視性の向上ReactのSEOに優しい性質:検索エンジンの可視性の向上Apr 26, 2025 am 12:27 AM

はい、Reactapplicationscanbeseo-frendlywithpropertrategies.1)useServer-siderendering(ssr)withtoolslikenext.jstogeneratefullhtmlforindexing.2)explmentStaticSiteSite-generation(SSG)forcontent-heavysitestoprededopRederpageattiTiTeTietLe.3)

Reactのパフォーマンスボトルネック:遅いコンポーネントの識別と最適化Reactのパフォーマンスボトルネック:遅いコンポーネントの識別と最適化Apr 26, 2025 am 12:25 AM

反応性能のボトルネックは、主に非効率的なレンダリング、不必要な再レンダリング、コンポーネントの内部重量の計算によって引き起こされます。 1)ReactDevtoolsを使用して遅いコンポーネントを見つけ、React.Memoの最適化を適用します。 2)EFFECTを最適化して、必要に応じて実行することを確認します。 3)メモリ処理には、usememoとusecallbackを使用します。 4)大きなコンポーネントを小さなコンポーネントに分割します。 5)ビッグデータリストについては、仮想スクロールテクノロジーを使用してレンダリングを最適化します。これらの方法により、Reactアプリケーションのパフォーマンスを大幅に改善できます。

Reactの代替品:他のJavaScriptUIライブラリとフレームワークの探索Reactの代替品:他のJavaScriptUIライブラリとフレームワークの探索Apr 26, 2025 am 12:24 AM

パフォーマンスの問題、学習曲線、またはさまざまなUI開発方法の探索のために、誰かが反応する代替品を探すことができます。 1)Vue.JSは、統合の容易さと軽度の学習曲線で称賛され、小規模および大規模なアプリケーションに適しています。 2)AngularはGoogleによって開発されており、強力なタイプのシステムと依存噴射を備えた大規模なアプリケーションに適しています。 3)Svelteは、ビルド時に効率的なJavaScriptにコンパイルすることにより、優れたパフォーマンスとシンプルさを提供しますが、そのエコシステムはまだ成長しています。代替案を選択するときは、プロジェクトのニーズ、チームエクスペリエンス、プロジェクトの規模に基づいて決定する必要があります。

Keys and Reactの調整アルゴリズム:パフォーマンスの向上Keys and Reactの調整アルゴリズム:パフォーマンスの向上Apr 26, 2025 am 12:21 AM

KeysinReactarespecialattributedignedInedInementionArrays forStableIdentity、重要なもの、curtialforthereconciliationalgorithmはfichupdatedoMedifficly.1)keyshelpreprackChanges、追加、OrRemovalsinlists.2)

Reactプロジェクトに必要なボイラープレートコード:セットアップオーバーヘッドの削減Reactプロジェクトに必要なボイラープレートコード:セットアップオーバーヘッドの削減Apr 26, 2025 am 12:19 AM

toreduceSetUpOverHeadinReactProjects、usetoolslikecreatereActapp(cra)、next.js、gatsby、orstarterkits、およびmaintainAmodularStructur E.1)crasimplifiessetupwithasinglecommand.2)next.jsandgatsbyoffermorefeaturesbutalearningcurve.3)starterkitsprovidecomprehensi

USESTATEの理解():React React Neact State Managementの包括的なガイドUSESTATEの理解():React React Neact State Managementの包括的なガイドApr 25, 2025 am 12:21 AM

usestate()isareacthookusedtomeStateinfunctionalComponents.1)itInitializeSandUpDatestate、2)colledatttheToplevelofComponents、3)canleadto'stalestate'ifnotusedly、and4)cancancancancancanbeoptimizeduptimizeduptimizedususecall -calleSuperesteSteSteSteSteSteSteSteSteStateSupteStateSuptateSuptatedates

Reactを使用することの利点は何ですか?Reactを使用することの利点は何ですか?Apr 25, 2025 am 12:16 AM

ReactisPopularduetoitsComponent Architecture、Virtualdom、Richecosystem、およびdeclarativenature.1)コンポーネントベースのarchitectureallowsforReusable anduipieces、改善様式および測定可能性。

Reactでのデバッグ:一般的な問題の特定と解決Reactでのデバッグ:一般的な問題の特定と解決Apr 25, 2025 am 12:09 AM

debugReactapplicationivivivity、EtheseStrategies:1)AddressPropdrillingWithContextapiorredux.2)HandLeasynchronousoperations withuthutateanduseeffect、Abortcontrollertopreventraceconditions.3)最適化合物を使用して、最適化合物を使用してください

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール