javascript - 唯一属性计数 json

标签 javascript jquery json performance

我有一个如下的 json 文件

 {"Teams": [
{"id":"1","f1":"Currency","f2":"All","f3":"May-2016","color":"G"},
{"id":"1","f1":"Currency","f2":"All","f3":"Aug-2016","color":"R"},
{"id":"1","f1":"Currency","f2":"All","f3":"Jun-2016","color":"R"},
{"id":"1","f1":"Currency","f2":"All","f3":"May-2016","color":"G"},
{"id":"1","f1":"Currency","f2":"All","f3":"May-2016","color":"G"},
{"id":"1","f1":"Currency","f2":"All","f3":"Jun-2016","color":"G"},
{"id":"1","f1":"Currency","f2":"All","f3":"Jun-2016","color":"G"},
{"id":"1","f1":"Currency","f2":"All","f3":"Aug-2016","color":"R"},
{"id":"1","f1":"Currency","f2":"All","f3":"May-2016","color":"G"},
{"id":"1","f1":"Currency","f2":"All","f3":"Jun-2016","color":"G"},
{"id":"1","f1":"Currency","f2":"All","f3":"May-2016","color":"G"},
]}

提取 f3 的唯一属性值的最佳方法是什么。

在我们的示例中,我应该将唯一的 f3 属性存储在一个数组中,该数组应该具有 ["Jun-2016","May-2016","Aug-2016"]

最佳答案

使用Array#reduce 方法

var data= {"Teams": [
{"id":"1","f1":"Currency","f2":"All","f3":"May-2016","color":"G"},
{"id":"1","f1":"Currency","f2":"All","f3":"Aug-2016","color":"R"},
{"id":"1","f1":"Currency","f2":"All","f3":"Jun-2016","color":"R"},
{"id":"1","f1":"Currency","f2":"All","f3":"May-2016","color":"G"},
{"id":"1","f1":"Currency","f2":"All","f3":"May-2016","color":"G"},
{"id":"1","f1":"Currency","f2":"All","f3":"Jun-2016","color":"G"},
{"id":"1","f1":"Currency","f2":"All","f3":"Jun-2016","color":"G"},
{"id":"1","f1":"Currency","f2":"All","f3":"Aug-2016","color":"R"},
{"id":"1","f1":"Currency","f2":"All","f3":"May-2016","color":"G"},
{"id":"1","f1":"Currency","f2":"All","f3":"Jun-2016","color":"G"},
{"id":"1","f1":"Currency","f2":"All","f3":"May-2016","color":"G"},
]};

var res = data.Teams.reduce(function(arr, ele) {
  // check element already exist if not push the value to the array
  if (arr.indexOf(ele.f3) === -1) arr.push(ele.f3);
  return arr;
  // set initial value as empty array
}, []);

console.log(res);

关于javascript - 唯一属性计数 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37827855/

相关文章:

javascript - babel,browserify 错误 : using removed babel 5 option base. 阶段

javascript - 如何使用 jquery 从图像 URL 在本地存储图像?

javascript - c# 从 Angular 发送 3 个参数到 c#mvc,我在服务器端得到 null

jquery - 似乎无法让 jquery.dropshadow.js 在正确的选择器上工作?

objective-c - 在 Objective-C 中解析嵌套的 JSON 对象

javascript - 访问 json 数组时在 javascript 中未定义

javascript - 在附加 HTML 时执行 IF 语句的多个实例的更好方法?

javascript - 如何创建简单的 jQuery 插件?

javascript - 如何使用文本增加Popup的宽度

c# - 从 C# 到 Javascript 的二维数组