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

การสร้างอาร์เรย์ไบนารีที่มีขนาดเฉพาะใน JavaScript


ปัญหา

เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่ใช้ตัวเลข n ฟังก์ชันของเราควรสร้างและส่งคืนอาร์เรย์ของลำดับ N * N (อาร์เรย์ 2 มิติ) โดยที่ 1 ใช้ตำแหน่งการหมุนวนทั้งหมดโดยเริ่มจาก [0, 0] และ 0 ทั้งหมดจะมีตำแหน่งที่ไม่หมุนวน

ดังนั้น สำหรับ n =5 ผลลัพธ์จะเป็น −

<ก่อนหน้า>[ [ 1, 1, 1, 1, 1 ], [ 0, 0, 0, 0, 1 ], [1, 1, 1, 0, 1 ], [1, 0, 0, 0, 1 ], [ 1, 1, 1, 1, 1 ]]

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

const num =5;const spiralize =(num =1) => { const arr =[]; ให้ x, y; สำหรับ (x =0; x =ล่าง) แตก; ในขณะที่ (x <ด้านล่าง) { arr[x][y] =1; x++; } x--; คะ--; ขวา -=2; ถ้า (ซ้าย>=ขวา) แตก; ในขณะที่ (y>=left) { arr[x][y] =1; คะ--; } y++; x--; ด้านล่าง -=2; ถ้า (บน>=ล่าง) แตก; ในขณะที่ (x>=บนสุด) { arr[x][y] =1; x--; } x++; ย++; ซ้าย +=2; } if (num % 2 ==0) arr[h][h] =1; return arr;};console.log(spiralize(num));

ผลลัพธ์

ต่อไปนี้เป็นเอาต์พุตคอนโซล -

<ก่อนหน้า>[ [ 1, 1, 1, 1, 1 ], [ 0, 0, 0, 0, 1 ], [1, 1, 1, 0, 1 ], [1, 0, 0, 0, 1 ], [ 1, 1, 1, 1, 1 ]]