如何查找JavaScript对象是否具有特定正则表达式模式的键?例如,在下面的对象中,如何查找它是否包含包含单词“Address”的键?JavaScript对象具有特定正则表达式模式的键
var obj = {Address_Line1 : "XXX", Address_Line2 :"YYY", Name : "ZZZ"};
如何查找JavaScript对象是否具有特定正则表达式模式的键?例如,在下面的对象中,如何查找它是否包含包含单词“Address”的键?JavaScript对象具有特定正则表达式模式的键
var obj = {Address_Line1 : "XXX", Address_Line2 :"YYY", Name : "ZZZ"};
当然 - 你可以用Array.prototype.some
和Object.keys
做到这一点,就像这样:
var obj = {Address_Line1 : "XXX", Address_Line2 :"YYY", Name : "ZZZ"};
var hasKeyRegex = Object.keys(obj).some(function(key) {
return /Address/.test(key);
});
console.log(hasKeyRegex);
hasKeyRegex
将true
如果对象具有含Address
一个键,false
如果不。
为什么在开始的'^',因为规范是“包含”? –
@torazaburo好点,更新!谢谢 :) – Scott
'Object.keys(OBJ)的ToString()的indexOf( '地址')!== -1' – Tushar
您有什么问题?你需要知道如何获得对象的键?你需要知道如何循环它们吗?你需要知道如何找到一个字符串是否包含在另一个字符串中? –
不知道我提供的答案是他想要的,但这正是他目前所要求的。 @ Tushar的解决方案对于确切的规范更好,但是如果OP需要用正则表达式检查每个键,我的解决方案可能会更容易地覆盖。 – Scott