我读了很多书,但我无法弄清楚以下内容:
var eventCity = [
{date: 'Apr 11 2017', type: 'alpha'},
{date: 'Apr 26 2017', type: 'beta'}
];
var currentCity = 'eventCity'; // this is generated dynamically
var aDate = eval(currentCity)[0].date;
如何避免使用 eval()
维持相同的结果 (aDate = 'Apr 11 2017'
)?
最佳答案
为什么不使用对象并以动态值作为键呢?
var object = {
eventCity: [
{ date: 'Apr 11 2017', type: 'alpha' },
{ date: 'Apr 26 2017', type: 'beta' }
]
},
currentCity = 'eventCity', // this is generated dynamically
aDate = object[currentCity][0].date;
关于javascript - 访问对象属性时如何避免 eval?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43391490/