JavaScriptの配列から重複するアイテムを完全に削除する
配列を受け取り、すべての重複する値が削除された新しい配列を返す関数を作成する必要があります。
元の配列に複数回表示された値は、新しい配列に1回も表示されないようにする必要があります。
たとえば、入力が-
の場合const arr = [23,545,43,232,32,43,23,43];
出力は-
である必要がありますconst output = [545, 232, 32];
違いを理解する-
-
Array.prototype.indexOf()→検索された文字列が存在する場合は最初に出現するインデックスを返し、存在しない場合は-1を返します。
-
Array.prototype.lastIndexOf()→検索された文字列が存在する場合は最後に出現したインデックスを返します。存在しない場合は-1を返します。
どちらの方法も左から右に始まります。
どちらの方法も、2番目の引数が定義されていない場合は0から始まり、数値の場合は2番目の引数から始まります。
したがって、ここで重要なのは、配列内でindexOf()メソッドとlastIndexOf()メソッドが同じインデックスを指している場合、それが1回だけ存在することを確認できるため、この結果をコードで使用することです。
関数の完全なコードは-
になります例
const arr = [23,545,43,232,32,43,23,43]; const deleteDuplicate = (arr) => { const output = arr.filter((item, index, array) => { return array.indexOf(item) === array.lastIndexOf(item); }) return output; }; console.log(deleteDuplicate(arr));
出力
コンソールの出力は-
になります[ 545, 232, 32 ]
-
JavaScript配列from()メソッド
JavaScriptのfrom()メソッドは、lengthプロパティを持つ任意のオブジェクトまたは反復可能なオブジェクトからArrayオブジェクトを返すために使用されます。 構文は次のとおりです- Array.from(obj, mapFunction, val) 上記では、パラメータobjは配列に変換するオブジェクト、mapFunctionは呼び出すマップ関数、valはmapFunctionを実行するときにこれとして使用する値です。 JavaScriptでfrom()メソッドを実装しましょう- 例 <!DOCTYPE html> <html> <body
-
JavaScript Array.from()メソッド
Array.from()は、指定された配列インスタンスから新しい配列オブジェクトを作成します。 以下は、配列from()関数のコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Docume