Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用函数变量检索对象文字值_Javascript_Angularjs - Fatal编程技术网

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符号