首页 > 解决方案 > 将变量作为对象路径传递

问题描述

很抱歉这个基本问题 - 这是一个更大的代码的简化版本,我似乎无法解决这个问题 -

我有一个 JS 创建的博客,我将我的博客详细信息存储在一个对象中并用这些详细信息填充 HTML,这让我保持 DRY 原则。

我发现的问题是我似乎无法使用变量来完成对象路径 -

创建对象>>

var objectExample = {

    one: [{

        method: function(x,y){
            console.log(`${x} ${y}`);
        }

    }]

}


var blockThing = document.querySelector('.block');

var name = 'one';
var sign = 0;

x = 'something new';
y = 'another new thing';

blockThing.addEventListener('click', function(){
    objectExample.name[sign].method(x,y);
});

我不确定为什么上面的内容不像我要写的那样工作

blockThing.addEventListener('click', function(){
        objectExample.one[0].method(x,y);
    });

即不使用变量-那么它确实有效。

如果这是一个超级基本的问题,请原谅,我一直在努力解决这是我现在尴尬的几个小时的更大例子。

感谢您的任何帮助

标签: javascriptobjectmethods

解决方案


推荐阅读