javascript - 如何使用包含下划线的变量访问对象属性

标签 javascript jquery

我尝试使用包含下划线的变量访问对象属性,但是,它给出错误Uncaught ReferenceError:topic_未定义。我确实调查了这个问题以寻求解决方案Dynamically access object property using variable但是没有成功。

var topics_page_no = {
    topic_1: [2,3,4],
    topic_2: [5,6,7]
}

/* Navigate to particular topic's first page based on selection */
$(document).on('click', '.topic-menu-dropdown-item', function(){
    var topic_id = $(this).data('topic-id');
    console.log(topics_page_no.topic_[topic_id][0] + ".html");
});

预期输出: 2.html/5.html

最佳答案

你可以尝试 Bracket notation 像这样:

 /* Navigate to particular topic's first page based on selection */
$(document).on('click', '.topic-menu-dropdown-item', function () {
    var topic_id = $(this).data('topic-id');
    console.log(topics_page_no["topic_" + [topic_id]][0] + ".html");
});

关于javascript - 如何使用包含下划线的变量访问对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37523934/

相关文章:

javascript - 结果四舍五入到小数点后两位

javascript - 悬停时如何使用 <a> 标签元素缩小图像?

javascript - 在 JavaScript 中调整图像大小,尊重最小宽度/高度和最大宽度/高度

javascript - jQuery 限制我加载/附加的字符数量?

javascript - 如何传输一个 html 文件的表单值并将其作为另一个文件中的值?

jquery - 使用所选 jquery 添加事件后将事件添加到按钮

javascript - 用于生成意外结果的 jQuery 页面的 CSS

javascript - JStree 异步搜索

javascript - jquery 是隐藏的所有图像

javascript - jQuery Mobile 无法在 Android 设备上动态更改图像