【问题标题】:Slice last 2 objects of a column in multidimensional JSON array在多维 JSON 数组中切片列的最后 2 个对象
【发布时间】:2019-01-23 11:27:15
【问题描述】:

我可能忽略了相同问题的主题。但我似乎无法弄清楚。我想删除列中的最后一个项目。尝试了 forEach 但它对我不起作用,它删除了 myArr 的完整第一列(例如)。 Maby 而不是删除一个 Slice?

例如我有这个 JSON 数组 (myArr):

    let myArr = JSON.parse(this.responseText);
    let myColumnYears = Object.keys(myArr);
    let myColumnInhabitants = 
    Object.values(myArr[0]);

    myArr.forEach(function() {
          delete myColumnYears[0];
        });

[
 {
    "1996": "7959017",
    "1997": "7968041",
    "1998": "7976789",
    "1999": "7992324",
},
{
    "1996": "10156637",
    "1997": "10181245",
    "1998": "10203008",
    "1999": "10226419",
},
{
    "1996": "7071850",
    "1997": "7088906",
    "1998": "7110001",
    "1999": "7143991",
}
]

我想删除每个数组的最后 2 个对象,结果变成:

[
{
   "1996": "7959017",
   "1997": "7968041",
},
{
   "1996": "10156637",
   "1997": "10181245",

},
{
   "1996": "7071850",
   "1997": "7088906",
}
]

我想我想更具体一点。

【问题讨论】:

    标签: javascript arrays json object javascript-objects


    【解决方案1】:

    您可以使用.map() 遍历数组,选择您感兴趣的属性并将它们作为对象返回。

    let data = [
      {"1996": "7959017", "1997": "7968041", "1998": "7976789","1999": "7992324"},
      {"1996": "10156637", "1997": "10181245", "1998": "10203008", "1999": "10226419" },
      {"1996": "7071850", "1997": "7088906", "1998": "7110001", "1999": "7143991" }
    ];
    
    let result = data.map(o => ({"1996": o["1996"], "1997": o["1997"]}));
    
    console.log(result);
    .as-console-wrapper { max-height: 100% !important; top: 0; }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-09
      • 2014-04-14
      • 1970-01-01
      • 2015-10-15
      • 1970-01-01
      • 2014-02-04
      • 2013-06-21
      • 2019-05-14
      相关资源
      最近更新 更多