javascript - 使用 JavaScript 映射和缩减 JSON 对象

标签 javascript json angular rxjs

考虑下面这个对象:

    {
    "_items": [
        {
            "_id": "player_1",
            "score": {
                "a": -4.74,
                "b": 0.71,
                "c": -4.04,
                "d": 3.37,
                "e": 0.22,
                "f": 1.09,
                "g": -2.17              
            }
        }
    ]
}

我会映射和减少并生成一个仅包含分数对象的新对象:

{
    "a": -4.74,
    "b": 0.71,
    "c": -4.04,
    "d": 3.37,
    "e": 0.22,
    "f": 1.09,
    "g": -2.17
}

我在想这样的事情可能会朝着正确的方向发展,但似乎并没有达到我的预期:

this.service.getscore()
  .map(res => res.json())
  .map(v => v._items[0].score)
  .subscribe(data => { this.sc = data });

console.log(this.sc); 会给我与第一个 json 相同的结果。

虽然我认识到在服务器端执行此操作可能更好、更容易,但在我的情况下这是不可能的。我想知道我想要做的事情是否可以在客户端使用 JavaScript 完成。有什么建议么?

最佳答案

您可以尝试下面的代码吗:

var item = {
  "_items": [{
      "_id": "player_1",
      "score": {
        "a": -4.74,
        "b": 0.71,
        "c": -4.04,
        "d": 3.37,
        "e": 0.22,
        "f": 1.09,
        "g": -2.17
      }
    },
    {
      "_id": "player_2",
      "score": {
        "a": -4.74,
        "b": 0.71,
        "c": -4.04,
        "d": 3.37,
        "e": 0.22,
        "f": 1.09,
        "g": -2.17
      }
    }
  ]
};
let arrayScores = item._items.map(el => el.score);
console.log(arrayScores);

有 arrayScores 值:

[{
  a: -4.74,
  b: 0.71,
  c: -4.04,
  d: 3.37,
  e: 0.22,
  f: 1.09,
  g: -2.17
}, {
  a: -4.74,
  b: 0.71,
  c: -4.04,
  d: 3.37,
  e: 0.22,
  f: 1.09,
  g: -2.17
}]

有意义吗?

关于javascript - 使用 JavaScript 映射和缩减 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44080953/

相关文章:

javascript - 如何捕获 No Access-Control-Allow-Origin 错误?

javascript - 如何向 AngularJS 中的现有 cookie 添加新值?

javascript - 如何获取JSON表的总行数?

node.js - 在 Angular 5 中使用 electron-builder 构建 Electron 应用程序

javascript - 需要在 Javascript 或 Angular 搜索时显示 JSON 中的父级和子级

javascript - 无法让 jQuery addClass ("active") 工作

javascript - WebSocket 和 HTTP header

jquery - 通过 Ajax 传递关联数组

json - 如何发送不同值的Json?

angular - 如何设置 Angular Material 选项卡的样式?