javascript - jQuery,从变量调用数组对象的一部分

标签 javascript jquery variables

我正在构建一个有一些选项的 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/

相关文章:

javascript - 如何将 github 存储库代码导入 mt 客户端 js?

javascript - 如何访问在较低(父)级别声明的 Vue 对象的属性?

javascript - 将多维数组中的元素追加到 html 页面

javascript - 如何使用数据属性和 jQuery 使链接可点击或不可点击?

jquery Isotope如何将容器高度固定为100%并溢出: auto

javascript - 如果我添加 ng-if,Angular ng-show 将不起作用

javascript - 用 JPlayer 克服音频播放问题?

java - 访问父类(super class)中方法的变量

c++ - 局部变量顺序 : Best way to declare variables(varying in size) in cpp

java - 为什么我的变量 'extra' 被修改,而我正在更改它的副本。(具体的,不是一般的查询)