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