我试图找到将这三个功能抽象成一个的最佳方式。如何将相似的Javascript功能抽象为一个?
function displaySummary(data) {
getMyElement('app__summary').innerHTML = data.summary;
return data;
}
function displayTemperature(data) {
getMyElement('app__temperature').innerHTML = data.temperature;
return data;
}
function displayLocation(data) {
getMyElement('app__location').innerHTML = data.location;
return data;
}
正如你所看到的,它们三者共享确切的结构。该参数只是一个具有一些属性的简单对象。
我想什么做的是能够调用一个函数有两个参数,如下所示:
displayElement(data, 'location');
而且有这样的事情来看(注意,这下一个是伪代码):
function displayElement(data, STRING) {
getMyElement('app__STRING').innerHTML = data.STRING;
return data;
}
你会怎么做呢? 也欢迎ES2015语法。
META:我知道这个问题可能被标记为潜在的以下问题的重复。这些答案都没有答案如何插入(如果可能的话)一个字符串作为一个属性访问器,这主要是我认为应该解决这个问题。我愿意提出建议和编辑,以使这个问题更好。
编辑:@Bergi标记为复制未在我的搜索来一个问题,并且确实解决这个问题。我应该删除这个吗?
有什么问题你'pseudocode' - 除了'app__STRING'应该是'app__ + STRING'? – tymeJV
闭包。答案总是关闭。 – Bergi
@tymeJV说什么+'data.STRING'应该是'data [STRING]' –