我有一个JS对象文字(logGroupMap),其中包含告警名作为键,它们的日志组作为值。告警名称是以不同长度的一致名称传入的,但每次都带有生成的字符,因此我试图查看字符串是否包含来自logGroupMap对象文字的键,如果是,我希望获得与该键相关联的值。
let logGroup = (alarmName) => {
Object.keys(logGroupMap).forEach((key) => {
if (alarmName.includes(key)) { logGroup = logGroupMap.key; }
});
};
console.log(logGroup(messageDetails.AlarmName));目前,这在所有情况下都是未定义的返回。
发布于 2022-04-05 20:50:31
使用Array.find()方法搜索匹配的密钥。
若要动态访问属性,请使用logGroupMap[key]。logGroupMap.key返回名为key的属性的值,它不使用key作为变量。
function logGroup(alarmName) {
let found = Object.keys(logGroupMap).find((key, value) => alarmName.includes(key));
if (found) {
return logGroupMap[key];
}
}
https://stackoverflow.com/questions/71757872
复制相似问题