如何查找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