我有一些JSON看起來像:多個關鍵字(即具有正則表達式)搜索通過JSON
"groups": [
"group_id": "8",
"group_name": "Building",
"group_color": "00ff00"
},
{
"group_id": "3",
"group_name": "Building",
"group_color": "8000ff"
},
{
"group_id": "2",
"group_name": "Sidewalk",
"group_color": "ff0000"
},
{
"group_id": "6",
"group_name": "Parking Lot",
"group_color": "00ffff"
},
{
"group_id": "3",
"group_name": "Commons",
"group_color": "ff8000"
},
{
"group_id": "5",
"group_name": "Other",
"group_color": "ff00ff"
}
]
而當現場發現它翻轉一個布爾標誌。
例如
for (var c=0; c<json.groups.length; c++) {
inSearch = false;
if(json.groups.group_id.match(query)!=null){
inSearch = true;
}
}
但是,如果query = Building
然後我返回兩個結果,所以我在尋找什麼做的是建立query = Building&8
只返回的第一個結果。
注:查詢,也可以是正則表達式,我認爲是這個地方應該去...
任何想法?
編輯:有沒有一種方法,比方說,我的拆分串入部分,然後匹配基於兩個不同的部分該對象的單個對象?那麼匹配基於group_id和group_color的第一個對象,或者根據group_name和group_color匹配它?
感謝您的快速回答!我認爲我的例子太具體了。你的代碼適用於這種情況,但我試圖讓它更具動態性。那麼,如果我想讓它匹配group_id和group_color呢?然後我又被卡住了。 – SortingHat
在我看來,第二個答案將完成這項工作。您只需將'regsObj'更改爲您想要搜索的任何內容即可。 – Ankit
對,唯一的問題是字符串將以任何順序,所以我如何知道前半部分是group_id還是前半部分字符串是group_color?從我們一直在談論的內容來看,我認爲它需要每次都進行一些類型的搜索並縮小搜索對象的範圍。 – SortingHat