【问题标题】:Convert a string to number in an object in JavaScript在 JavaScript 中将字符串转换为对象中的数字
【发布时间】:2021-06-02 15:31:07
【问题描述】:

我有一个这样的对象数组

const ArrayOfObject = [
{x: "1622078100000", y: 1},
{x: "1622010000000", y: 1},
{x: "1622009940000", y: 6},
{x: "1622009880000", y: 4},
{x: "1622009820000", y: 2},
{x: "1622073600000", y: 1}
]

我想要这样的东西

const ArrayOfObject = [

{x: 1622078100000, y: 1},
{x: 1622010000000, y: 1},
{x: 1622009940000, y: 6},
{x: 1622009880000, y: 4},
{x: 1622009820000, y: 2},
{x: 1622073600000, y: 1}
]

将 x 属性从字符串解析为数字。如何在 Javascript ES6 或 ES5 中实现这一点?

【问题讨论】:

  • 使用 parseInt(或 parseFloat)var num = parseInt(string);

标签: javascript arrays parsing ecmascript-6


【解决方案1】:

没有特殊的功能可以做到这一点。您实际上必须映射它们。 最好让它们保持原样,只在需要时才这样做

const ArrayOfObject = [
{x: "1622078100000", y: 1},
{x: "1622010000000", y: 1},
{x: "1622009940000", y: 6},
{x: "1622009880000", y: 4},
{x: "1622009820000", y: 2},
{x: "1622073600000", y: 1}
]

const ArrayOfObjectUpdated = ArrayOfObject.map(item => ({...item, x: Number(item.x)}))

【讨论】:

  • 谢谢!!我很感激
【解决方案2】:

您可以使用 + 一元运算符将字符串转换为数字,如下所示:

const newArr = [];
ArrayOfObject.forEach(obj => newArr.push({x: +obj.x, y: obj.y}));

见:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Unary_plus

【讨论】:

    猜你喜欢
    • 2017-09-29
    • 1970-01-01
    • 1970-01-01
    • 2018-12-17
    • 1970-01-01
    • 1970-01-01
    • 2013-01-18
    • 2013-04-19
    相关资源
    最近更新 更多