Javascript 使用函数变量检索对象文字值
我有一个函数,用于将对象文字响应数据转换为数组: 发件人:Javascript 使用函数变量检索对象文字值,javascript,angularjs,Javascript,Angularjs,我有一个函数,用于将对象文字响应数据转换为数组: 发件人:[{u-id:“1”,“评级”:7},{u-id:“2”,“评级”:3}] 收件人:[7,3] function createArray(fieldVar, responseData) { var newArray = responseData.map(function(data) { return data.fieldVar // fails here because I am trying to use the f
[{u-id:“1”,“评级”:7},{u-id:“2”,“评级”:3}]
收件人:[7,3]
function createArray(fieldVar, responseData) {
var newArray = responseData.map(function(data) {
return data.fieldVar // fails here because I am trying to use the fieldVar variable
});
return newArray
};
我这样调用函数:
createArray('rating',response.rating_x)
由于data.fieldVar
的原因,如果我对data.rating
的调用进行硬编码,则会失败,因为它工作正常
如何在函数调用中传入“rating”或任何其他名称?尝试使用括号
function createArray(fieldVar, responseData) {
var newArray = responseData.map(function(data) {
return data[fieldVar] // access with brackets
});
return newArray
};
使用点表示法时,属性必须是有效的JavaScript标识符,即字母数字字符序列,还包括下划线(“389;”)和美元符号($”),而不是以数字开头。使用变量时,需要使用括号表示法,否则data.fieldVar将指向可能不存在的属性“fieldVar”。这是因为您想要访问的变量没有被计算,而是被视为一个普通的“字符串”
有关MDN的更多信息:这与标记为重复的问题不同。。我正在尝试在一个函数内部另一个函数内部获取object.property符号