Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

配列内の重複するプロパティ値を削除する方法– JavaScript?


以下が私たちの配列だとしましょう-

var details = [
   {
      studentName: "John",
      studentMarks: [78, 98]
   },
   {
      studentName: "David",
      studentMarks: [87, 87]
   },
   {
      studentName: "Bob",
      studentMarks: [48, 58]
   },
   {
      studentName: "Sam",
      studentMarks: [98, 98]
   },
]

重複するプロパティ値を削除する必要があります。つまり、87が上記で繰り返されています。削除する必要があります。

これには、map()の概念を使用します。

以下はコードです-

var details = [
   {
      studentName: "John",
      studentMarks: [78, 98]
   },
   {
      studentName: "David",
      studentMarks: [87, 87]
   },
   {
      studentName: "Bob",
      studentMarks: [48, 58]
   },
   {
      studentName: "Sam",
      studentMarks: [98, 98]
   },
]
details.map(tempObj => {
   if (typeof (tempObj.studentMarks) == 'object') {
      tempObj.studentMarks = [... new Set(tempObj.studentMarks)]
      if (tempObj.studentMarks.length == 1) {
         tempObj.studentMarks = tempObj.studentMarks[0]
      }
   }
});
console.log(details);

上記のプログラムを実行するには、次のコマンドを使用する必要があります-

node fileName.js.

ここで、私のファイル名はdemo292.jsです。

出力

これにより、コンソールに次の出力が生成されます-

PS C:\Users\Amit\javascript-code> node demo292.js
[
   { studentName: 'John', studentMarks: [ 78, 98 ] },
   { studentName: 'David', studentMarks: 87 },
   { studentName: 'Bob', studentMarks: [ 48, 58 ] },
   { studentName: 'Sam', studentMarks: 98 }
]

  1. JavaScript配列長プロパティ

    Array lengthプロパティは、指定された配列に存在する要素の総数である配列の長さを設定または返します。 以下は、配列の長さプロパティ-のコードです。 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title&

  2. 複数の値でJavaScript配列の要素を見つける方法は?

    以下は、JavaScript配列の要素を複数の値で検索するコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style> &nbs