目标
例如 a = ['a', 'b', 'c']
,可以通过a[0]
得到'a'
那么info = { success: { text: 'yes'}, warning: { text: 'wrong' , url: '/home'} }
,能不能通过类似info[0]
的方式对应到{text:'yes'}
呢?当然是可以的,
实现
根据输入的indexAsYouWant
取出对象中对应的值
infoResult = this.info[Object.keys(this.info)[indexAsYouWant]]
说明
ES5
的Object.keys方法,成员是参数对象自身的(不含继承的)所有可遍历( enumerable )属性的键名。
比如:
var arr = [a:1, b:2];
console.log(Object.keys(arr)); // console: ["a", "b"]
然后就ok了
应用
比如获得的场景值是0,1,2,3,对应default,success,fail,special的业务场景,每种场景有不同的提示文字、icon、主题色、按钮显示、事件
如果合适的话,可以考虑用类似下面之类的方式来处理文章来源:https://www.toymoban.com/news/detail-604899.html
info = {
default: {
text: 'default',
button:false,
color: '#3D9EE9',
icon:'underway',
func: this.defaultFunc
},
success: {
text: 'yes',
func: ()=>{
console.log('success')
}
},
warning: {
text: 'wrong' ,
url: '/home'
}
}
参考
Object.keys()的详解和用法文章来源地址https://www.toymoban.com/news/detail-604899.html
到了这里,关于【前端】如何像取数组一样地取对象的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!