วิธีทำ
ใช้ 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} = ...