jQuery,从变量调用数组对象的一部分
jQuery, call part of an array object from a variable
我正在构建一个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 ) { }
使用 string.replace。https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace
var image_variable = 'small_image';
$.each(data.data, function () {
console.log(this.images.src.replace(large_image, image_variable)); //something like that
}
在 JavaScript 中,您可以通过字符串访问对象属性。话虽如此,这将完全相同:
this.images.small_image.src;
this[images.small_image].src;
相关文章:
- Html地图对象-点击地图获取id的一部分
- Three.js-显示/隐藏对象的一部分
- 撇号标记在javascript字符串中与Backslash一起发送,该字符串使用ajax作为json对象的一部分发送到p
- jQuery,从变量调用数组对象的一部分
- 如何在对象标记中仅加载 HTML 页面的一部分,而不是整个 HTML 文档
- 在 Ember 中,如何设置一个特定的对象,该对象是控制器中数组的一部分
- 粒子 JS – 调用作为对象一部分的函数
- 使用 KnockoutJS 将 JSON 对象映射到视图模型的一部分
- 是 setTimeout 是 javascript 窗口对象的一部分
- 如果声明为对象的一部分,VideoJS 将不会启动视频
- 在 Jquery 中,如何向 JSON 对象的一部分发出警报?我得到“未定义”
- 如何将 ID 数组与包含其 ID 作为属性名称一部分的对象属性进行匹配
- 我可以只返回状态对象的一部分而不是整个状态对象的新副本吗
- 全局javascript变量在对象构造函数的一部分中变得未定义
- 如何使用JQuery从REST API仅返回JSON对象的一部分
- 同构反应-如何使反应作为窗口对象的一部分发挥作用
- 如何按字符串的一部分查找对象
- 如何在javascript中删除对象的一部分
- 如何根据密钥名称的一部分对javascript对象属性进行分组
- 获取嵌套对象,但标识符是所需对象的一部分