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

การจัดเรียงอาร์เรย์ 2 มิติของสตริงและหาองค์ประกอบเส้นทแยงมุมใน JavaScript

ปัญหา

เราต้องเขียนฟังก์ชัน 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