Да , вы можете попытаться получить доступ к свойству объекта с помощью регулярного выражения, но нет , он не будет делать то, что вы хотите: он преобразует регулярное выражение вСтрока и используйте это имя свойства.
Единственный способ найти имя свойства объекта путем сопоставления с регулярным выражением - это цикл for ... in
, как вы упомянули.Производительность не должна быть проблемой, если объект имеет только одно свойство.
function findPropertyNameByRegex(o, r) {
for (var key in o) {
if (key.match(r)) {
return key;
}
}
return undefined;
};
findPropertyNameByRegex(obj, regxp); // => 'atr1'