比较数组,删除项目

时间:2013-02-22 21:33:59

标签: javascript google-maps google-places-api

使用Google Places API,您只能从单个查询中获得20个结果...因此您无法一次查询所有结果,而是需要存储已搜索的内容(在数组中) )并添加到该数组或从该数组中删除...

这证明了我的问题......我需要能够在我的数组中添加位置,然后搜索数组并删除不再需要的任何位置。

我应该使用“比较数组”功能,还是更好?我觉得这很简陋......也许我错过了一些显而易见的Google API函数。

我的计划是创建一个对象:

var placesObj = {};

由于所有地方都可以有多种“类型”,因此我需要能够将每个地点id推送到placesObj内的数组中,如下所示:

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

这样,我可以查找id字符串并将其从整个placesObj中删除...

我希望这是有道理的......我只需要知道如何构造这个对象。

1 个答案:

答案 0 :(得分: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回复并从回复中构建此对象...你可能只是使用你从谷歌获得的其他一些独特的价值来制作关键的地方名称。