ปัญหา
เราต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ n สตริง และแต่ละสตริงในอาร์เรย์ประกอบด้วยตัวอักษร n ตัวพอดี ฟังก์ชันควรจัดเรียงอาร์เรย์ตามลำดับอักษร ก่อน แล้วคืนค่าสตริงที่ประกอบด้วยตัวอักษรที่อยู่บนเส้นทแยงมุมหลัก (principal diagonal) เริ่มจากมุมซ้ายบน
ตัวอย่าง
โค้ดตัวอย่างด้านล่าง:
const arr = [
'star',
'abcd',
'calm',
'need'
];
const sortPickDiagonal = () => {
const copy = arr.slice();
copy.sort();
let res = '';
for (let i = 0; i < copy.length; i++) {
for (let j = 0; j < copy[i].length; j++) {
if (i === j) {
res = res + copy[i][j];
}
}
}
return res;
};
console.log(sortPickDiagonal(arr));
ผลลัพธ์
aaer
คำอธิบายเพิ่มเติม
sort: ['abcd', 'calm', 'need', 'star'] diagonal: [0][0]='a', [1][1]='a', [2][2]='e', [3][3]='r' → "aaer" ฟังก์ชันไม่รับ parameter (ใช้ closure arr) ควรรับ arr เป็น parameter