Javascript - 将字符串转换为对象数组中的数字

Javascript - Converting string to number in an array of objects

我有一个名为 reports 的对象数组,其中有一个对象 reportId 当前正在 return 作为字符串。我想将该对象 reportId 转换为整数。如何使用对象数组执行此操作?

我试图通过映射来实现这一点。并使用 parseInt 但我没有成功。

这是我的代码示例:

let reports = [ {reportId: "21", title: "Online", code: "ON" }, {reportId: "11", title: "Retail", code: "RE" }, {reportId: "61", title: "Walk-in", code: "WI" } ]



 let ids = reports.reportId.split(',').map(function (item) {
        return parseInt(item, 10);
    });
    
console.log(ids)

我期待一个 return 的新数组,它将 reportId 列为数字而不是字符串,例如:[ 21, 11, 61 ]

您必须映射报告,而不是 reports.reportId.split。其实reports是一个数组,它没有一个名为“reportId”的属性,只有数组里面的对象才有。

const reports = [ {reportId: "21", title: "Online", code: "ON" }, {reportId: "11", title: "Retail", code: "RE" }, {reportId: "61", title: "Walk-in", code: "WI" } ];

const reportIds = reports.map(({ reportId }) => parseInt(reportId, 10));

console.log(reportIds);

旁注:几乎总是使用 const 而不是 let!

你把事情搞得太复杂了;您只需要将 reports 中的每个条目映射到其 reportId 属性 并将其转换为整数

let reports = [ 
  {reportId: "21", title: "Online", code: "ON" },
  {reportId: "11", title: "Retail", code: "RE" },
  {reportId: "61", title: "Walk-in", code: "WI" } 
]

let ids = reports.map(function (item) {
  return parseInt(item.reportId, 10);
});
    
console.log(ids)