从 javascript 中的另一个变量名称创建变量键

Creating a variable key from another variable name in javascript

本文关键字:创建 变量 变量名 另一个 javascript      更新时间:2023-09-26

我有t等于mapType

var t = 'mapType'

我正在尝试获得以下结果

mapTypeControlOptions: {
};

但是当我尝试t[ControlOptions]: {}它出现使用方括号的错误时,有没有办法让它工作?

我的最终结果是

map.setOptions({
    mapTypeControlOptions: {
        position: google.maps.ControlPosition.TOP_LEFT
    }
});

但是我想动态构建它,以便mapTypeTOP_LEFT根据变量而变化

var myObject = {};
var t = 'mapType';
myObject[ t + 'ControlOptions' ] = {};
// after your edit: no you can call 
// map.setOptions( myObject );
console.log( myObject );
// Object {mapTypeControlOptions: Object} 
console.log( myObject[ 'mapTypeControlOptions' ] );
// Object {}
console.log( myObject[ t +'ControlOptions' ] );
// Object {}

如果你想构建这样的键名,传递给map.setOptions()的对象将需要单独创建。

例如,我在下面将其创建为空对象"设置",根据您选择的"t"变量(mapType)对其进行修改,然后通过map.setOptions()将其传递到Google地图中:

var t = 'mapType';
var settings = {};
// Add to settings object using key prefix 't'
settings[t + 'ControlOptions'] = {
    position: google.maps.ControlPosition.TOP_LEFT
};
// Pass into map
map.setOptions(settings);
var mapType = {};
mapType.ControlOptions: {
};