"var" +1] = SomeValue - هل يمكن القيام بشيء من هذا القبيل؟
-
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;
لا تنتمي إلى StackOverflow