javascript - 现场过滤数据的最佳方法

标签 javascript function filtering

我编写了一个显示餐馆和酒吧的小应用程序。我想添加一个按类别过滤数据的功能。我从外部 *.json 文件获取脚本中的数据。只有两个类别 - “酒吧”和“餐厅”。

如果您能给我有关过滤现有元素的提示,我将非常感激。在生成带有您只想显示酒吧的地方的卡片后,您单击“酒吧”按钮,现场只有酒吧,餐厅被隐藏。

function updateData() {

    var results = document.getElementById("results");

    for (var i = 0; i < places.length; i++) {
        results.innerHTML += '<div class="result text-center">' +
            '<img class="rest-img img-thumbnail" width="236" height="236" src="img/img1.jpg">' +
            '<h2 class="rest-name">' + places[i].name + '</h2>' +
            '<p class="rest-category">' + places[i].category + '</p>' +
            '<p class="rest-address">' + places[i].address + '</p>' +
            '<i class="fa fa-beer" aria-hidden="true"></i><p class="rest-beer-price">' + places[i].price + ' PLN</p>';
    }
}

function showBars() {
    //Code to filter bars
}

var warsaw = document.getElementById("warsaw");
warsaw.addEventListener("click", updateData);

非常感谢您的帮助!

最佳答案

最简单的是使用过滤器函数:

function filterByCategory(list, category) {
  return list.filter(function(item) {
    return (item.category === category);
  }); 
}

filter 命令期望返回 true 来保留内容,返回 false 来排除内容。

关于javascript - 现场过滤数据的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42893063/

相关文章:

php - 如何在一个站点中创建将登录另一个站点的链接?

javascript - 求子数组的和

javascript - 让 python 通过浏览器与本地 Flask 应用程序对话

c++ - 如何调用带参数指针的函数指针?

python - 如何高斯过滤(模糊)浮点numpy数组

MySQL连接两个表但先过滤

javascript - 使用包含键数组对的对象过滤对象嵌套对象列表

javascript - 仅在离线时使用应用程序缓存

delphi - 帮助扩展功能

javascript - 将函数及其参数传递给另一个函数来执行它的语法是什么?