[英]Reference JS object through concatenation
我正在嘗試調用一個對象。
我目前的做法:
var key = object_0
我想做的方式
var key = "object_" + questionId;
但是當調用串聯的object_0時,執行以下操作時我沒有得到對象信息:
console.log(key)
任何見解都會很棒。
如果使用ES5,則可以通過創建新的空對象來實現。 步驟如下:
1.創建空對象
var o = {};
2.使用方括號在對象上生成新鍵- ("object_" + questionId)
-這將強制解析器首先("object_" + questionId)
括號中的表達式求值
3.將值分配給新添加的密鑰
o[("object_" + questionId)] = XXX;
然后console.log(o)
將輸出{object_0: XXX}
簡短答案:全局范圍+方括號。
window['object_'+questionId] = 'foo';
console.log(window['object_'+questionId]); // 'foo'
長答案: 在JavaScript中使用動態變量名稱
您可以使用window對象(僅訪問全局變量):
var object_0 = { p: 42 }, questionId = 0, key = "object_" + questionId; document.write(window[key].p);
但我建議將數據結構更改為更簡潔的樣式:
var questions = { 200: { p: 42 }}, questionId = 200; document.write(questions[questionId].p);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.