Computer >> Máy Tính >  >> Lập trình >> Javascript

Loại bỏ các giá trị trong một mảng bằng cách so sánh chỉ mục thứ 0 của các mục trong JavaScript?

Giả sử sau đây là mảng của chúng tôi &mius;

var subjectNameAlongWithMarks = [
   ["JavaScript", 78],
   ["Java", 56],
   ["JavaScript", 58],
   ["MySQL", 77],
   ["MongoDB", 75],
   ["Java", 98]
]

Ở trên, chúng tôi có các giá trị lặp lại, chúng tôi cần loại bỏ các giá trị này bằng cách so sánh các giá trị trùng lặp của chỉ mục0 th . Sử dụng khái niệm Set () từ JavaScript cho việc này -

Ví dụ

var subjectNameAlongWithMarks = [
   ["JavaScript", 78],
   ["Java", 56],
   ["JavaScript", 58],
   ["MySQL", 77],
   ["MongoDB", 75],
   ["Java", 98]
]
var distinctResult = subjectNameAlongWithMarks.filter(function ([value]){
   return !this.has(value) && !!this.add(value)
}, new Set())
console.log(distinctResult);

Để chạy chương trình trên, bạn cần sử dụng lệnh sau -

node fileName.js.

Đầu ra

Ở đây, tên tệp của tôi là demo196.js. Điều này sẽ tạo ra kết quả sau -

PS C:\Users\Amit\javascript-code> node demo196.js
[
   [ 'JavaScript', 78 ],
   [ 'Java', 56 ],
   [ 'MySQL', 77 ],
   [ 'MongoDB', 75 ]
]