基本上我有一个json说..
collectionData = {'customerName':'Ashish','phone':'1234567'}
现在我有一个包含json字段名的数组,如..
array = ['customerName','phone'];
现在我想执行此操作:
for (let i = 0; i < array.length; i++) {
console.log(collectionData.array[i]);
}
为什么这段代码会给我错误?谢谢你提前
答案 0 :(得分:1)
您必须使用括号表示法访问它们。当你使用.
点符号执行此操作时,会发生什么
console.log(collectionData.array[0]) // undefined -
//it looks for .array[0] property which gives you undefined
这就是为什么建议在这种情况下使用括号表示法
现在考虑以下
console.log(collectionData[array[0]])
这将首先将array[0]
解析为customerName
,并在存在时为您提供值。
如果您仍想使用点表示法访问,仍有办法执行此操作。像
这样的东西
var collectionData = {'customerName':'Ashish','phone':'1234567'}
var array = ['customerName','phone'];
for(var i=0; i<array.length; i++)
console.log(eval('collectionData.'+array[i]))