javascript中浮点值的深度搜索和替换

javascript中浮点值的深度搜索和替换,javascript,parsing,Javascript,Parsing,我有一个嵌套对象,一些属性将浮点值作为字符串。我的目标是将这些字符串转换为数字格式。 下面是一个示例对象 var myObj = { "value": "text", "params": { "check3": false, "check2obj": { "params": { "value3": 35, "value4": "0.05", "value5": "0.02", "value7":

我有一个嵌套对象,一些属性将浮点值作为字符串。我的目标是将这些字符串转换为数字格式。 下面是一个示例对象

var myObj = {
  "value": "text",
  "params": {
    "check3": false,
    "check2obj": {
      "params": {
        "value3": 35,
        "value4": "0.05",
        "value5": "0.02",
        "value7": "hello",
        "local": {
          "value4": "263.03",
          "value3": 35,
          "value2": true,
          "value1": "hello1"
        }
      }
    }
  }
}
解析后,我希望这个对象看起来像

{
  "value": "text",
  "params": {
    "check3": false,
    "check2obj": {
      "params": {
        "value3": 35,
        "value4": 0.05,
        "value5": 0.02,
        "value7": "hello",
        "local": {
          "value4": 263.03,
          "value3": 35,
          "value2": true,
          "value1": "hello1"
        }
      }
    }
  }
}
我已经用下面的函数尝试过了,但是字符串没有变为float

function parse(data){
    $.each(data, function(key, value){
        if(typeof(value)== 'object'){
            parse(value);
        }else{
            if(typeof(value) == 'string' && !isNaN(parseFloat(value))){
                value = parseFloat(value);
            }
        }
    });
    return data;
}

changedValues = parse(myObj);

您可以创建递归函数,通过嵌套对象属性进行迭代,然后使用
parseFloat
方法将值转换为float,并使用
isNaN
方法检查其是否为float

const data={“value”:“text”,“params”:{“check3”:false,“check2obj”:{“params”:{“value3”:35,“value4”:“0.05”,“value5”:“0.02”,“value7”:“hello”,“local”:{“value4”:“263.03”,“value3”:35,“value2”:true,“value1”:“hello1”}}
函数解析(数据){
for(让我们输入数据){
const n=parseFloat(数据[键])
if(数据类型[key]=“object”)解析(数据[key]);
如果(n&&!isNaN(n))数据[键]=n;
}
}
解析(数据)

console.log(data)
这很简单,您尝试了什么?向我们展示您尝试了什么以及您研究了什么。Stackoverflow不是免费的代码编写服务。这里的目标是让人们帮助您修复代码,因为您正在返回输入参数。您需要对其应用更改,然后才能删除
n&&
,但我不确定如何处理0