This question already has answers here:
From an array of objects, extract value of a property as array
                            
                                (14个回答)
                            
                    
                在4个月前关闭。
        

    

我正在从数据库中提取一些电子邮件地址数据,以打印到Node项目中的文件中。该代码如下所示:

  const sql = `${query}`;
  let emailRecords = await this.mariaDB.query(sql);
  let data = JSON.stringify(emailRecords);
  fs.writeFileSync(appRoot + "/public/email-lists/staff-emails.json", data);


这给了我看起来像这样的数据:

[ { email: 'email1@yahoo.com' },
  { email: 'email2@hotmail.com' },
  { email: 'samp2@yahoo.com' },
  { email: 'samp3@gmail.com' } ]


我想做的是摆脱键/值对,最后得到一个只有电子邮件地址的数组,像这样:

[ 'email1@yahoo.com',
  'email2@hotmail.com',
  'samp2@yahoo.com',
  'samp3@gmail.com' ]


我不确定什么是最好的方法,因为'filter()'用于根据匹配条件返回原始数组的子集。在这里,我需要所有原始数据,但是要像我上面描述的那样进行修剪。我应该在这里使用正则表达式吗?还有吗

最佳答案

您可以使用map高阶函数来创建一个新的数组,如下所示:

const emails = data.map(e => { return e.email })


新的变量emails是带有所需值的新数组。

关于javascript - 更改数组的数据格式并删除键/值对,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59630032/

10-12 00:08
查看更多