代码之家  ›  专栏  ›  技术社区  ›  Zak

React——为什么这行是追加而不是添加

  •  -1
  • Zak  · 技术社区  · 2 年前

    我还有其他方法可以做同样的事情。。所以我不想为这个问题寻找不同的解决方案。。。我正在寻找一个解释,为什么如果我定义了一个整数,它仍然与 .map 就像一根绳子。

    我有一组从API检索到的基本数据:

    "data":["8","8","12","1","7","4","2"]
    

    如果我使用映射

    let count = response.data.metrics.data.map((item) => + parseInt(item));
    

    我很难理解为什么它把这当作字符串返回

    88121743
    

    当我觉得因为我将其解析为整数,所以它应该相加并得出 42 .

    这只是一个问题吗 地图 ?这里可以使用快捷数学函数吗?

    这是我的 Reproducible Example

    1 回复  |  直到 2 年前
        1
  •  1
  •   Unmitigated    2 年前

    您当前的方法使用 Array#map 创建一个新数组,其中每个元素都转换为数字。React将此数组渲染为多个文本节点,因此它看起来像一个字符串。

    要求和这些值,请使用 Array#reduce 具有 parseFloat / parseInt 这个 Number 函数,或将每个字符串转换为数字的一元加号运算符。

    const visitCount = data.reduce((a,b) => a + parseFloat(b), 0);