【问题标题】:Convert string into integer inside array Angular将字符串转换为数组Angular内的整数
【发布时间】:2019-02-16 07:30:57
【问题描述】:

我有一个从 console.log(res) 显示的数组,如下所示:

res = ["117498","4734","9782","53196"]

如果我想将数组的格式转换为 像这样:

res = [117498,4734,9782,53196]

我对使用地图感到困惑。在角度上,如果有地图的方式,我必须在我的 component.ts 中导入什么地图库

我的代码:

public apiData;
ngOnInit() {

this.countryunitservice.getTicketCountryUnit().subscribe((res)=>{
  this.apiData = res;
  console.log(res);
})
}

【问题讨论】:

    标签: javascript arrays json angular


    【解决方案1】:

    您可以通过将Number 函数作为回调来使用.map()。来自Docs

    在非构造函数上下文中(即,没有new 运算符),Number 可用于执行类型转换。

    const input = ["117498","4734","9782","53196"];
    
    const output = input.map(Number);
    
    console.log(output);

    【讨论】:

    • 给出错误“'对象'类型上不存在属性'地图'。”男人@Mohammad Usman
    【解决方案2】:

    mapES6 中包含的一个方法,如果您使用 babel 将代码转换为 ES5,则可以直接使用,否则您可以使用 polyfill 或下划线或 loadash 等库

    您可以使用map 和隐式转换。

    const input = ["117498","4734","9782","53196"];
    
    const output = input.map(e=> +e);
    
    console.log(output);

    【讨论】:

    • 我用过“import { map } from 'lodash';”在图书馆,但仍然给出错误“'对象'类型上不存在属性'映射'。”人@Code Maniac
    【解决方案3】:

    简单地做,

    let result = ["117498","4734","9782","53196"].map(val => +val);
    console.log(result);

    【讨论】:

      【解决方案4】:

      你可以使用map和parseInt函数

      let result = ["117498","4734","9782","53196"].map(val => parseInt(val));
      

      【讨论】:

        【解决方案5】:

        您不需要为地图导入任何库。它是由javascript本身提供的。

        根据您的 cmets,似乎响应是一个对象而不是一个数组。所以,使用Object.values(res).map(Number)

        如果您的响应是一个数组,则可以执行以下操作。

        const output = ["117498","4734","9782","53196"].map(x => Number(x));
        
        console.log( output );

        【讨论】:

        • 它仍然给出错误“'对象'类型上不存在属性'映射'。” @dileepkumar 贾米。我不知道我该怎么办
        • 您是要在数组还是对象上使用 map()?似乎您在对象上使用它,因此出现错误。请显示您使用的代码
        • 嗨@dileepkumar jami,我已经附上了我的代码,那是在我添加代码作为您的建议之前。 res 是数组,每个部分都包含字符串
        • 看起来很奇怪。 typeof(res) 返回什么?你能检查并告诉我吗?如果您将代码发布在 stackblitz 上会更好
        • @aldi,我在您的代码中找不到 CountryunitService 文件。请把所有文件或给我看服务的实现
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-21
        相关资源
        最近更新 更多