"var" +1] = SomeValue - هل يمكن القيام بشيء من هذا القبيل؟

StackOverflow https://stackoverflow.com/questions/4328746

  •  29-09-2019
  •  | 
  •  

سؤال

function giveValue(n){
    ["r"+n]=5;
}
giveValue(10);

انت وجدت الفكرة.

النقطة المهمة هي أن لدي حفنة من المتغيرات ذات الاسم المماثل ، تتراوح فقط في رقم في النهاية. يعد استخدام عبارة Switch جيدًا مع بعض المتغيرات عدة مرات ، ولكن لهذا المشروع بالذات ، فإنه يدفعني إلى الجنون. أعلم أنه يمكنني فعل:

var r2="lol";
var someVar=eval("r"+2);
//someVar=="lol"

وكنت أتساءل عما إذا كان بإمكاني فعل شيء كهذا ولكن مع الإشارة الديناميكية إلى يسار المهمة.

هل هو ممكن؟

هل كانت مفيدة؟

المحلول

اذا أنت حقًا تريد أن تفعل ذلك ، يجب أن يعمل هذا:

function giveValue(n){
    window['r'+n] = 5;
}
giveValue(10);

console.log(r10)

لكن من فضلك ، لا تفعل ذلك!

يجب عليك حقا استخدم المصفوفات!

نصائح أخرى

أفضل طريقة هي إنشاء صفيف تسمى r:

var r = [];
r[2] = 5;
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top