【问题标题】:JavaScript: How to filter data in dictionaryJavaScript:如何过滤字典中的数据
【发布时间】:2018-01-27 08:43:00
【问题描述】:

我在 JS 中有以下对象:

[
  {
    "financial_year":1,
    "mainline_revenue":18743.0,
    "regional_revenue":2914.0,
    "other_revenue":3198.0,
    "non_operating_items":-1983.0
  },
  {
    "financial_year":2,
    "mainline_revenue":20218.0,
    "regional_revenue":3131.0,
    "other_revenue":3394.0,
    "non_operating_items":-3233.0
  },
  {
    "financial_year":3,
    "mainline_revenue":30802.0,
    "regional_revenue":6322.0,
    "other_revenue":5526.0,
    "non_operating_items":-1367.0
  }
]

financial_year 是我想用来过滤数据的唯一标识符。如何过滤例如financial_year 为2 的数据并将其他值放入数组中?

【问题讨论】:

标签: javascript


【解决方案1】:

您可以在数组上使用filter 方法。 filter 接受一个返回 true 或 false 的回调(更准确地说,是一个 true 或 false 值)。如果返回 true,则该对象将包含在结果数组中。

let input = [
  {
    "financial_year":1,
    "mainline_revenue":18743.0,
    "regional_revenue":2914.0,
    "other_revenue":3198.0,
    "non_operating_items":-1983.0
  },
  {
    "financial_year":2,
    "mainline_revenue":20218.0,
    "regional_revenue":3131.0,
    "other_revenue":3394.0,
    "non_operating_items":-3233.0
  },
  {
    "financial_year":3,
    "mainline_revenue":30802.0,
    "regional_revenue":6322.0,
    "other_revenue":5526.0,
    "non_operating_items":-1367.0
  }
];
let output = input.filter((obj) => obj.financial_year !== 2);
console.log(JSON.stringify(output, null, 2));

或者用 ES5 重写:

var input = [
  {
    "financial_year":1,
    "mainline_revenue":18743.0,
    "regional_revenue":2914.0,
    "other_revenue":3198.0,
    "non_operating_items":-1983.0
  },
  {
    "financial_year":2,
    "mainline_revenue":20218.0,
    "regional_revenue":3131.0,
    "other_revenue":3394.0,
    "non_operating_items":-3233.0
  },
  {
    "financial_year":3,
    "mainline_revenue":30802.0,
    "regional_revenue":6322.0,
    "other_revenue":5526.0,
    "non_operating_items":-1367.0
  }
];
var output = input.filter(function(obj) {
  return obj.financial_year !== 2;
});
console.log(JSON.stringify(output, null, 2));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-23
    • 1970-01-01
    • 2021-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多