javascript - 在 Angular js 中过滤来自 json 或服务器的数据

标签 javascript jquery json angularjs

我有包含以下信息的 json 数据

[
{
"city":"Bangalore",
"dob":"04-Oct-2014",
"age":24,
"maritalStatus":"Single"
},
{
"city":"Bangalore",
"dob":"04-Oct-2014",
"age":24,
"maritalStatus":"Single"
},
{
"city":"Chennai",
"dob":"04-Oct-2014",
"age":24,
"maritalStatus":"Single"
}
]

此数据以列表格式显示

<ul class="userInfo">
<div   ng-repeat="user in users " >
  <li class="btn-default">
    <div class="userDetails">
      <div class="userPosition">{{user.city}}</div>
    </div>
  </li>
  </div>
</ul>

HTTP 请求期间

userDirectory.controller("userListControl", function($scope,$rootScope, $http)
        {

            $http.get('data/userData.json').success (function(data){
               $scope.users = data;
        var usersDb = TAFFY();
        usersDb.insert(data);
            });
    });

这里,数据来自 userData.json 文件。

我的问题是,

加载页面之前。我将声明 city =“bangalore”。

所以基于城市。我必须显示基于城市的数据。我想避免 json 中除 city:bangalore 之外的其他数据。

如何过滤特定城市数据。我不想使用过滤功能。我必须在这个阶段进行过滤

$scope.users = 数据; 因为我这里使用的是JS Db。然后只有我可以将这些数据存储在这里并在将来进行处理

最佳答案

我不确定你的具体情况,但你可以很好地做到

 $http.get('data/userData.json').success (function(data){
    var city='bangalore';   //can be set anywhere 
    $scope.users = data.filter(function(item){return item.city===city;});
    var usersDb = TAFFY();
    usersDb.insert($scope.users);
 });

Array.filter适用于所有现代浏览器(即 9 及更高版本)

否则实现一个 Angular 过滤器,并通过 $filter 服务将其用于控制​​器:

关于javascript - 在 Angular js 中过滤来自 json 或服务器的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26794571/

相关文章:

javascript - 如何仅从 Angular 中的 JSON 数组列表中提取第一个值

javascript - 删除 ngFor 中的前 4 个字符

jquery - 如何通过查询类来检查 DOM 中的元素是否被隐藏?

javascript - jQuery UI 日期选择器中的静默错误

php - 使用 Ajax 更新的最佳方法

python - 无法从请求打印 JSON

javascript - 图片占位符

javascript - 弹出图像的某些点以显示文本

javascript - 如何从序列化形式构建自定义对象?

json - js请求模块错误: Invalid json using Node.