我正在构建一个有一些选项的 JavaScript 系统。系统从 JSON 中提取信息。基于该选项,我想触发数组对象的特定部分,并且我不想使用 eval()
通常我会这样做。
$.each(data.data, function () {
console.log(this.images.small_image.src);
}
现在工作正常,直到我想使用变量来做到这一点,该变量将替换“small_image”部分,并且可以是“large_image”、“scaled_image”等中的任何内容。
所以我想做什么
var image_variable = 'small_image';
$.each(data.data, function () {
console.log(this.images. + image_variable + .src);
}
我不确定这是否可行,但希望有人对此有一些想法?
最佳答案
不确定这是否是一个有效的问题,考虑到这是 JavaScript 的真正基础知识,但你就可以了。
您可以通过在方括号内传递键来读取对象值[ 'key' ]
。
var image_variable = 'small_image';
$.each( data.data, function( ) {
console.log( this.images[ image_variable ].src );
} );
您可能应该确保首先使用 instanceof Object
等定义键。这将避免脚本中出现错误,并使您能够扩展自己的错误处理程序以向用户解释出现的问题。
if ( this.images[ image_variable ] instanceof Object ) { }
关于javascript - jQuery,从变量调用数组对象的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35868498/