Javascript 通过与其他两个阵列进行比较来筛选主阵列

Javascript 通过与其他两个阵列进行比较来筛选主阵列,javascript,filtering,jquery-isotope,Javascript,Filtering,Jquery Isotope,哎哟!我头痛。我在这个问题上工作了好几个小时,我的脑子都快崩溃了 基本上,同位素在我的页面上隐藏或显示html元素,我需要以非常有效的方式在嵌入的地图上隐藏或显示相应的Google Maps标记(很多Google Maps标记) 所以。。。我有一个满是对象的MASTERARRAY[]。数组中的每个对象都有一个唯一的id i、 e.主数组[i].id 此MASTERARRY[]还关联了一个Google地图标记对象 i、 e.主阵列[i].标记器 当我在我的页面上过滤我的页面上的HTML元素时,我将

哎哟!我头痛。我在这个问题上工作了好几个小时,我的脑子都快崩溃了

基本上,同位素在我的页面上隐藏或显示html元素,我需要以非常有效的方式在嵌入的地图上隐藏或显示相应的Google Maps标记(很多Google Maps标记)

所以。。。我有一个满是对象的MASTERARRAY[]。数组中的每个对象都有一个唯一的id

i、 e.主数组[i].id

此MASTERARRY[]还关联了一个Google地图标记对象

i、 e.主阵列[i].标记器

当我在我的页面上过滤我的页面上的HTML元素时,我将具有唯一id的对象推送到以下数组之一:

  • SotopheFilter.resultsRemovedFromPage

  • SotopheFilter.resultsOnPageAfterFiltering

  • 下面的代码将通过将主数组与ISOTOEFILTER.resultsRemovedFromPage进行比较,成功地从地图上删除标记。但是,我不知道如何有效地让这个函数同时显示SotopheFilter.resultsOnPageAfterFiltering数组中存在的Google地图标记的ID

    function updateMap() {
        var hiddenMarkerCount = 0;
    
        for (i in ISOTOPEFILTER.resultsRemovedFromPage) {
    
    
                for (var j=0; j<MASTERARRAY.length; j++) {
    
                if (ISOTOPEFILTER.resultsRemovedFromPage[i].id == MASTERARRAY[j].id){
                    hiddenMarkerCount++;
                    MASTERARRAY[j].marker.setMap(null);
                    break;
                }
            }
        }
    
        console.log("We have hidden"+hiddenMarkerCount+" markers");
    }
    
    函数更新映射(){
    var hiddenMarkerCount=0;
    对于(同位素过滤器中的i.resultsRemovedFromPage){
    
    对于(var j=0;j而言,不要将移除的和包含的对象存储在数组中,而是将它们存储在一个与ID无关的对象中。然后您可以执行以下操作:

    for (var j = 0; j < MASTERARRAY.length; j++) {
        if (ISOTOPEFILTER.resultsRemovedFromPage[MASTERARRAY[j].id]) {
            // Do stuff for removed items
        }
        if (ISOTOPFILTER.resultsOnPageAfterFiltering[MASTERARRAY[j].id]) {
            // Do stuff for included items
        }
    }
    
    for(var j=0;j
    我只是键入
    MASTERARRAY[]
    以确保它也在注释中,这样每个人都可以看到它实际上是大写的,它被称为
    MASTERARRAY[]
    !谢谢!虽然这项技术需要相当长的时间来重新编写原始代码,但最终的结果是非常快的。一旦我的对象设置好,实现起来非常简单。非常感谢!