Javascript 如何拉一个属性,如;顾客性别“;从具有贴图的对象数组
我正在使用javascript映射在对象数组中循环。今天我要循环一个对象数组Javascript 如何拉一个属性,如;顾客性别“;从具有贴图的对象数组,javascript,ecmascript-6,Javascript,Ecmascript 6,我正在使用javascript映射在对象数组中循环。今天我要循环一个对象数组 averageReport = [ { "result": 150.54909908933223, "customer.gender": "Female" }, { "result": 150.35230422844595, "customer.gender": "Male" } ]; 我只想得到“顾客性别” ) 我收到错误“无法读取
averageReport = [
{
"result": 150.54909908933223,
"customer.gender": "Female"
},
{
"result": 150.35230422844595,
"customer.gender": "Male"
}
];
我只想得到“顾客性别”
)
我收到错误“无法读取未定义的属性'SEXT'”
试试看
averageReport
.map(x => console.log(x["customer.gender"])
用于访问customer.gender
属性。请尝试以下操作:
var averageReport=[{“结果”:150.5490990893223,“客户性别”:“女性”},{“结果”:150.35230422844595,“客户性别”:“男性”};
var result=averagerport.map(x=>x[“customer.gender”]);
控制台日志(结果)代码>由于您将密钥命名为客户。性别
您不能使用点符号来获取值,必须使用括号符号([]
)
同样,映射到console.log()
也没有多大意义(因为console.log()
返回undefined
,在这里使用map()
时,您正在创建一个新的未定义的数组),只需使用forEach()
:
averagerport=[{
“结果”:150.54909908933223,
“客户性别”:“女性”
},
{
“结果”:150.35230422844595,
“客户性别”:“男性”
}
];
AveragerReport.forEach(x=>console.log(x[“customer.gender”])
为什么map没有意义?@anonymous:因为.map
返回一个新数组,其中包含回调的返回值。您应该使用新阵列。如果您不关心它,forEach
是更合适的解决方案。我添加了一个解释,它不仅返回一个新数组,而且返回一个新数组,如下所示:[undefined,undefined]
您的答案与其他答案有何不同。看起来是一样的。@anonymous他们在发布其他答案的同时发布了他们的答案,所有答案都在一分钟内发布,答案看起来非常相似,因为这是问题的唯一真实答案。发布时间是可见的。
averageReport
.map(x => console.log(x["customer.gender"])