从 Google 脚本中的对象数组中检索数据

Retrieve data from an array of objects in Google Script

我正在尝试从以下名为 atstudentsarray 的对象数组中提取某些元素,并创建一个包含对象的新数组。我已经使用了下面的地图功能,但我无法让它工作。

var newAtStudentArray = atstudentsarray.map(i => {
    const newAtStudentObj = {}

    newAtStudentObj.last_name = i['records'].fields['Last Name']
   
  })

下面是一个名为atstudentsarray的数组

[{
    "records": [
        {
            "id": "rec02fiiNA",
            "createdTime": "2020-04-21T05:06:07.000Z",
            "fields": {
                "Last Name": "Lat",
                "Gender": "Male",
                "E-mail Address": "alath@bbc.lk",
                "Grade": "DP 2",
                "parent_id_2": [
                    "rec3TCndXH"
                 ]
         }

         {
            "id": "rec02fiiNA",
            "createdTime": "2020-04-21T05:06:07.000Z",
            "fields": {
                "Last Name": "Lat",
                "Gender": "Male",
                "E-mail Address": "alath@bbc.lk",
                "Grade": "DP 2",
                "parent_id_2": [
                    "rec3TCndXH"
                 ]
         }
             ]

}]

如果您在箭头函数中使用“{}”括号,则必须使用“return”。 添加“return newAtStudentObj;”最后:

var newAtStudentArray = atstudentsarray.map(i => {
    const newAtStudentObj = {}

    newAtStudentObj.last_name = i['records'].fields['Last Name']
    return newAtStudentObj;
})

你可以这样试试:

var newAtStudentArray = atstudentsarray[0].records.map(i => ({
    last_name: i.fields['Last Name']
  }))

它对你不起作用的原因是因为 atstudentsarray 不是你应该在其上进行映射的数组,而是在记录数组上。