1.4 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			1.4 KiB
		
	
	
	
	
	
	
	
title, localeTitle
| title | localeTitle | 
|---|---|
| Use Caution When Reinitializing Variables Inside a Loop | استخدام الحذر عند Reinitializing متغيرات داخل حلقة | 
استخدام الحذر عند Reinitializing متغيرات داخل حلقة
- يجب حل هذا التحدي من خلال إعادة تعريف نطاق row[].
- فيما يلي مثال على المصفوفة المطلوبة.
[  [0][0],  [0][0],  [0][0]  ]  
- ومع ذلك ، فإن المصفوفة الحالية - الموضحة أدناه - بعيدة عن المصفوفة المرغوبة
[  [0][0][0][0][0][0],  [0][0][0][0][0][0],  [0][0][0][0][0][0]  ]  
- يحدث هذا الخطأ بسبب row[]صف يتم الإعلان عنه كمتغير عمومي خارج الحلقة المتداخلة.
- ومع ذلك ، لملء المصفوفة بشكل صحيح يجب إعادة تعيين row[]بعد كل تكرار للحلقة الخارجية.
حل
`function zeroArray(m, n) { let newArray = []; for (let i = 0; i < m; i++) { let row = []; /* <----- row has been declared inside the outer loop. Now a new row will be initialised during each iteration of the outer loop allowing for the desired matrix. */ for (let j = 0; j < n; j++) {
  row.push(0); 
} 
newArray.push(row); 
} return newArray; } let matrix = zeroArray(3, 2); console.log(matrix); `