2016-01-08 38 views
1

如何查找JavaScript對象是否具有特定正則表達式模式的鍵?例如,在下面的對象中,如何查找它是否包含包含單詞「Address」的鍵?JavaScript對象具有特定正則表達式模式的鍵

var obj = {Address_Line1 : "XXX", Address_Line2 :"YYY", Name : "ZZZ"}; 
+1

'Object.keys(OBJ)的ToString()的indexOf( '地址')!== -1' – Tushar

+0

您有什麼問題?你需要知道如何獲得對象的鍵?你需要知道如何循環它們嗎?你需要知道如何找到一個字符串是否包含在另一個字符串中? –

+0

不知道我提供的答案是他想要的,但這正是他目前所要求的。 @ Tushar的解決方案對於確切的規範更好,但是如果OP需要用正則表達式檢查每個鍵,我的解決方案可能會更容易地覆蓋。 – Scott

回答

2

當然 - 你可以用Array.prototype.someObject.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);

hasKeyRegextrue如果對象具有含Address一個鍵,false如果不。

+1

爲什麼在開始的'^',因爲規範是「包含」? –

+0

@torazaburo好點,更新!謝謝 :) – Scott