Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

เข้าถึงองค์ประกอบที่วนซ้ำก่อนหน้านี้ภายใน array.map ใน JavaScript หรือไม่


สมมติว่าต่อไปนี้คืออาร์เรย์ของเรา –

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

ตอนนี้ ใช้แนวคิดของ map() รหัสมีดังต่อไปนี้ −

ตัวอย่าง

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);

ในการรันโปรแกรมข้างต้น คุณต้องใช้คำสั่งต่อไปนี้ -

node fileName.js.

ชื่อไฟล์ของฉันคือ demo204.js

ผลลัพธ์

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

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'
   }
]