我有一个对象
data = {
'choiceA' : 'Long-Wear',
'choiceB' : 'Anti-Age Lifting/Firming',
'choiceC' : 'Replenishing/ Moisturizing',
'choiceD' : 'Natural/ True-to-Skin',
'choiceE' : 'Smoothing/ Illuminating'
}
我需要检索给定整数的第四个值
position = 3;
通常我会写
key = $.inArray( position, ['choiceA', 'choiceB', 'choiceC', 'choiceD', 'choiceE']);
answer = data[key];
但是像这样用数字键直接访问对象是有效的 javascript 吗?
answer = data[position]; // where position is an integer
编辑:
我在反向使用 $.inArray 时写了一些错误的代码!
我想写
arr = ['choiceA', 'choiceB', 'choiceC', 'choiceD', 'choiceE'];
key = arr[position];
answer = data[key];
最佳答案
不,只有你有数字对象“键”,它才有效,即
data = {
'1' : 'Long-Wear',
'2' : 'Anti-Age Lifting/Firming',
'3' : 'Replenishing/ Moisturizing',
'4' : 'Natural/ True-to-Skin',
'5' : 'Smoothing/ Illuminating'
};
此外,请务必注意,JavaScript 对象中的属性未排序。因此,在我看来,您的解决方案是最佳方式。
关于javascript - 使用数字键访问非数字键对象是否有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14222702/