You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何按指定Key将JavaScript对象数组中的字符串值转换为整数

解决方案:将指定Key的字符串值转为整数

下面提供几种实用的处理方式,根据你的需求选择:

1. 直接修改原数组

如果不需要保留原数组的原始数据,可以用forEach遍历数组,直接修改对应key的值:

let arr = [
    {
        'pippo': '1',
        'descrizione': 'ciao'
    }
];

arr.forEach(item => {
    // 把字符串转为整数,用parseInt或者Number都可以
    item.pippo = parseInt(item.pippo, 10);
    // 或者 item.pippo = Number(item.pippo);
});

console.log(arr);
// 输出:[{ pippo: 1, descrizione: 'ciao' }]

2. 创建新数组(不修改原数据)

如果需要保留原数组,用map方法生成新数组,配合对象展开运算符复制其他属性:

let arr = [
    {
        'pippo': '1',
        'descrizione': 'ciao'
    }
];

const newArr = arr.map(item => ({
    ...item,
    pippo: parseInt(item.pippo, 10)
}));

console.log(newArr);
// 输出:[{ pippo: 1, descrizione: 'ciao' }]
console.log(arr); // 原数组保持不变

3. 处理多对象/key不存在的情况

如果数组里有多个对象,或者不确定目标key是否存在,可以加个判断避免报错:

let arr = [
    { 'pippo': '1', 'descrizione': 'ciao' },
    { 'descrizione': 'hello' }, // 没有pippo字段
    { 'pippo': '2', 'descrizione': 'world' }
];

const newArr = arr.map(item => {
    if (item.hasOwnProperty('pippo')) {
        return {
            ...item,
            pippo: parseInt(item.pippo, 10)
        };
    }
    return item; // 没有目标key的对象直接返回
});

console.log(newArr);

补充说明

  • parseInt(str, 10) 指定基数10是为了避免八进制解析的坑(比如parseInt('010')在旧环境会返回8)。
  • 如果字符串是纯数字,Number(str) 和 +str 也能实现转换,效果类似。

内容的提问来源于stack exchange,提问作者max devis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 07:55:30