JavaScriptでオブジェクトの配列から重複を削除する最良の方法は?
以下が重複するオブジェクトの配列であるとしましょう-
var studentDetails=[ {studentId:101}, {studentId:104}, {studentId:106}, {studentId:104}, {studentId:110}, {studentId:106}, ]
次のコードのように、セットの概念を使用して重複を削除します-
例
var studentDetails=[ {studentId:101}, {studentId:104}, {studentId:106}, {studentId:104}, {studentId:110}, {studentId:106}, ] const distinctValues = new Set const withoutDuplicate = [] for (const tempObj of studentDetails) { if (!distinctValues.has(tempObj.studentId)) { distinctValues.add(tempObj.studentId) withoutDuplicate.push(tempObj) } } console.log(withoutDuplicate);>
上記のプログラムを実行するには、次のコマンドを使用する必要があります-
node fileName.js.
出力
ここで、私のファイル名はdemo158.jsです。これにより、次の出力が生成されます-
PS C:\Users\Amit\JavaScript-code> node demo158.js [ { studentId: 101 }, { studentId: 104 }, { studentId: 106 }, { studentId: 110 } ]
-
JavaScriptの配列の配列から最小の配列を取得します
このような配列のネストされた配列があるとします- const arr = [ ["LEFT", "RIGHT", "RIGHT", "BOTTOM", "TOP"], ["RIGHT", "LEFT", "TOP"], ["TOP", "LEFT"] ]; そのような配列を1つ取り込むJavaScript関数を作成する
-
配列から数値を削除し、残りの数値をJavaScriptにシフトします
最初の引数として数値の配列を取り、2番目の引数として数値を受け取るJavaScript関数を作成する必要があります。 関数は、2番目の引数で指定された数が配列に存在する場合、それを削除し、すべての要素を右に1つ左にシフトする必要があります。唯一の条件は、slice()、spliceなどのArrayメソッドを使用できないことです。 配列に番号のインスタンスが複数存在する場合は、最初のインスタンスを削除する必要があります。 例- 入力配列が-の場合 const arr = [3, 5, 6, 3, 7, 8, 8, 6]; const num = 7; 次に、配列は-になります。 con