Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

หา Index ของ 2D Array of Objects ใน JavaScript

วิธีทำ

ใช้ nested for loops 2 รอบ: รอบนอกสำหรับ row รอบในสำหรับ column

ตัวอย่างโค้ด

function matrixIndexed(details, name) { 
  var r; 
  var c; 
  for (r = 0; r < details.length; ++r) { 
    const nsDetails = details[r]; 
    for (c = 0; c < nsDetails.length; ++c) { 
      const tempObject = nsDetails[c]; 
      if (tempObject.studentName === name) { 
        return { r, c}; 
      } 
    } 
  } 
  return {}; 
} 
const details = [ 
  [ {studentName: 'John'}, {studentName:'David'} ], 
  [ {studentName:"Mike"},{studentName:'Bob'},{studentName:'Carol'} ] 
]; 
var {r, c } = matrixIndexed(details, 'Bob'); 
console.log(r, c);

วิธีรัน

node fileName.js

ผลลัพธ์

PS C:\Users\Amit\JavaScript-code> node demo160.js 
1 1

คำอธิบาย

ฟังก์ชัน matrixIndexed คืนค่า object ที่มี row (r) และ column (c) ของ object ที่มี studentName ตรงกับที่ค้นหา ใช้ destructuring assignment รับค่า: var {r, c} = ...