2013-02-22 41 views
0

使用Google Places API,您只能從單個查詢中返回20個結果...因此您無法一次查詢所有結果,而是需要存儲已搜索的內容(在一個數組中),並添加到該數組或從該數組中刪除...比較數組,刪除項目

這演示了我的問題...我需要能夠將位置添加到我的數組,然後搜索數組並刪除任何不再需要的地方。

是否有我應該使用的「比較數組」函數,或者更好的東西?我只是覺得這是相當簡陋的......也許我錯過了一些很明顯的Google API函數。

我的計劃是創建一個對象:

var placesObj = {}; 

而且由於所有的地方都可以有多個「類型」,我需要能夠將每個地方id推到一個數組中的placesObj像這樣:

var placesObj = { 
    bars: {'123123123123123', '123123123355555', '12312312132123'}, 
    parks: {'123123123123123', '123123123355555', '12312312132123'} 
}; 

這樣一來,我可以查找id字符串,從整個placesObj刪除...

我希望這是有道理的......我只需要知道如何構建這個對象。

回答

0

http://php.net/manual/en/function.array-diff.php應該對您有所幫助。它將返回一個數組,其中包含數組1中不存在於第二個數組中的所有條目。您應該可以相應地修改陣列。

編輯:現在,它清楚,你引用的JavaScript,而不是PHP,它是一個不同的對話。如果我做一個比較JS對象,並相應地更新它們,我會使用鍵值對,並刪除像這樣:

var placesObj = { 
    bars: {'tavern': '123123123123123', 'bar123':'123123123355555', 'blahblah':'12312312132123'}, 
    parks: {'jungle' : '123123123123123', 'kidspar;':'123123123355555', 'foo': '12312312132123'} 
}; 

delete placesObj['tavern']; 
delete placesObj['yourKey']; 

我假設你從谷歌獲得JSON響應,並從建設這個對象迴應......你可能只是使用一些其他獨特的價值,你從谷歌獲得的關鍵像地方的名字。

+0

是的,但讓我們說你取消選中'bars'選項......但是隻需要刪除所有條形標記。 – dcolumbus 2013-02-22 21:42:34

+0

這取決於你如何構建你的數據。你能添加一個代碼示例,以便我們確保我們正在討論具體的東西嗎? – Brad 2013-02-22 21:52:28

+0

我已經添加到我的問題... – dcolumbus 2013-02-22 22:19:31