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

Truy cập phần tử đã lặp trước đó trong array.map trong JavaScript?

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

var details = [
   {subjectId:110, subjectName: 'Java' },
   {subjectId:111, subjectName: 'Javascript' },
   {subjectId:112, subjectName: 'MySQL' },
   {subjectId:113, subjectName: 'MongoDB' }
];

Bây giờ, hãy sử dụng khái niệm map (). Mã như sau -

Ví dụ

var details = [
   {subjectId:110, subjectName: 'Java' },
   {subjectId:111, subjectName: 'JavaScript' },
   {subjectId:112, subjectName: 'MySQL' },
   {subjectId:113, subjectName: 'MongoDB' }
];
var output = details.map((detailsObject, index) =>
{
   var tempObject = {};
   tempObject.subjectId= detailsObject.subjectId;
   tempObject.subjectName = detailsObject.subjectName;
   const getThePreviousObject = index != 0 ? details[index-1] : null;
   tempObject.previousSubjectName = getThePreviousObject ?
   getThePreviousObject.subjectName : 'Not Available'
   return tempObject;
})
console.log(output);

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

node fileName.js.

Ở đây tên tệp của tôi là demo204.js.

Đầu ra

Điều này sẽ tạo ra kết quả sau -

PS C:\Users\Amit\javascript-code> node demo204.js
[
   {
      subjectId: 110,
      subjectName: 'Java',
      previousSubjectName: 'Not Available'
   },
   {
      subjectId: 111,
      subjectName: 'JavaScript',
      previousSubjectName: 'Java'
   },
   {
      subjectId: 112,
      subjectName: 'MySQL',
      previousSubjectName: 'JavaScript'
   },
   {
      subjectId: 113,
      subjectName: 'MongoDB',
      previousSubjectName: 'MySQL'
   }
]