Pos*_*Guy 3 javascript json node.js ecmascript-6
我不确定最好的办法.我想迭代我json,找到所有在美国的公司.这JSON是我的应用程序的增长也可能会方式更加复杂,因为在水平,对象等我只是想知道的方式让人们在做简单的搜索与过滤掉数据子集JSON和Node.js和/或ES6或库也许如Lodash等.
所以,例如这个json,有什么方法可以搜索它并且只撤回那些在美国的公司?
[{
    "id": 0,
    "name": "Company1",
    "logoUrl": "/lib/assets/company1-logo.png",
    "location":{
      "country": "USA",
      "state": "California",
      "city": "Napa"
    },
    "active": false
  },
  {
    "id": 1,
    "name": "Company2",
    "logoUrl": "/lib/assets/company2-logo.png",
    "location":{
      "country": "Germany",
      "state": "",
      "city": "Berlin"
    },
    "active": false
  },
  {
    "id": 2,
    "name": "Company3",
    "logoUrl": "/lib/assets/company3-logo.png",
    "location":{
      "country": "USA",
      "state": "Michigan",
      "city": "Detroit"
    },
    "active": false
  }]
使用Array#filter带有ES6箭头功能的 JavaScript本机方法
var res = data.filter(v => v.location.country === 'USA');
var data = [{
  "id": 0,
  "name": "Company1",
  "logoUrl": "/lib/assets/company1-logo.png",
  "location": {
    "country": "USA",
    "state": "California",
    "city": "Napa"
  },
  "active": false
}, {
  "id": 1,
  "name": "Company2",
  "logoUrl": "/lib/assets/company2-logo.png",
  "location": {
    "country": "Germany",
    "state": "",
    "city": "Berlin"
  },
  "active": false
}, {
  "id": 2,
  "name": "Company3",
  "logoUrl": "/lib/assets/company3-logo.png",
  "location": {
    "country": "USA",
    "state": "Michigan",
    "city": "Detroit"
  },
  "active": false
}];
var res = data.filter(v => v.location.country === 'USA');
console.log(res);您可以使用 JavaScript 的简单.filter()方法返回满足过滤器的结果列表。假设您的数据位于可变数据中
ES5
data.filter(function(item) {
  return item.location.country === 'USA';
});
ES6:在 ES6 中,您可以使用箭头函数,与
data.filter((item) => {
  return item.location.country === 'USA';
});
data.filter(function(item) {
  return item.location.country === 'USA';
});
| 归档时间: | 
 | 
| 查看次数: | 3286 次 | 
| 最近记录: |