【问题标题】:how to convert an array of strings to array of numbers?如何将字符串数组转换为数字数组?
【发布时间】:2022-01-24 09:55:19
【问题描述】:

我有这部分项目需要将Number 转换为Array,然后我必须将+1 添加到每个数字 我写了这段代码,它仍然返回undefined

function Nbr1(a){
    return a.toString().split('').map(Number).forEach( (item, index) => item + 1);
}
console.log(Nbr1(12345))

我得到了这个结果

当我将 console.log 添加到 forEach 中的每个项目时,我得到了这个

【问题讨论】:

标签: javascript arrays foreach


【解决方案1】:

您无需在map 之后使用forEachmap 已经遍历了数组。

并且不要忘记将数组项转换为前面带有+ 的数字,因为您生成了一个字符串数组

function Nbr1(a) {
  return a.toString().split("").map((number) => +number + 1)
}

console.log(Nbr1(12345))

Learn more about map

【讨论】:

  • "...因为您生成了一个字符串数组" - 不,OP 没有。转换由.map(Number) 完成(大写N 有所不同;))
  • .split 返回一个字符串数组。 String.prototype.split()
  • 脚本是a.toString().split('').map(Number).map(Number) 进行转换
  • 这并没有使“因为您生成了一个字符串数组”的语句错误
  • "并且不要忘记将数组项转换为前面带有 + 的数字,因为您生成了一个字符串数组" -是错误的,因为 OP 在+1 之前将它们转换为数字。您删除了转换并使用一元 + 再次添加。
【解决方案2】:

请参阅下面使用parseInt() 的简短示例。不需要额外的forEach

function Nbr1(a){
    return a.toString().split('').map((number)=>{
        return parseInt(number) + 1
    })    
}
console.log(Nbr1(12345))

【讨论】:

    猜你喜欢
    • 2021-12-13
    • 1970-01-01
    • 1970-01-01
    • 2017-11-27
    • 1970-01-01
    • 1970-01-01
    • 2021-11-20
    • 1970-01-01
    相关资源
    最近更新 更多