繁体   English   中英

给定一个json对象数组,如何将每个对象中的值转换为int或float?

[英]Given an array of json objects, how do I convert values in each object to an int or float?

给定一个json对象数组,如何将每个对象中的值转换为int或float?

var data = [{
    "rank": "1",
    "name": "Bill"
  },
  {
    "rank": "2",
    "name": "Ted"
  },
  {
    "rank": "3",
    "name": "John"
  },
  {
    "rank": "4",
    "name": "Jane"
  }
]

我正在使用的json对象在两个维度上都要大得多,所以我试图找出如何使用map函数将“ rank ”部分从string转换为int 还有其他部分我想转换为浮点数,但现在按“排名”排序1,10,11,12,etc

我怎样才能做到这一点? 我正在使用React / ES6 / JSX / Babel,或者任何合并的东西。

您可以简单地映射数据数组并使用您的用户数据返回一个新对象,同时将"rank"解析为Number

您可以在必要时使用parseIntparseFloat

 const data = [ {"rank": "1","name": "Bill"}, {"rank": "2","name": "Ted"}, {"rank": "3","name": "John"}, {"rank": "4","name": "Jane"} ] const formatted = data.map(user => ({ ...user, // collect all the properties of each user rank: parseInt(user.rank) // specifically parse the rank })) console.log('data', data) console.log('formatted', formatted) 
 <script src="https://codepen.io/synthet1c/pen/KyQQmL.js"></script> 

您可以使用地图功能

 var data = [{"rank": "1","name": "Bill"},
            {"rank": "2.4","name": "Ted"},
            {"rank": "3","name": "John"},
            {"rank": "4.5","name": "Jane"}];

 data.map(d => d.rank = +d.rank);    

 console.log(data);

检查这个 提琴手

您可以使用+运算符转换为int或float。 试试这个:

 var data = [ {"rank": "1","name": "Bill"}, {"rank": "2.4","name": "Ted"}, {"rank": "3","name": "John"}, {"rank": "4.5","name": "Jane"}]; data.forEach(d => d.rank = +d.rank); console.log(data); 

您可以使用Numberstring转换为number

 var data = [{ "rank": "1", "name": "Bill" }, { "rank": "2", "name": "Ted" }, { "rank": "3", "name": "John" }, { "rank": "4", "name": "Jane" } ]; var newData = data.map(function (item) { item.rank = Number(item.rank) return item; }); console.log(newData); 

您可以使用+将字符串转换为数字。

 var data = [ {"rank": "1","name": "Bill"}, {"rank": "2","name": "Ted"}, {"rank": "3","name": "John"}, {"rank": "4","name": "Jane"}], result = data.map(({rank, name}) => ({rank : +rank, name})); console.log(result); 
 .as-console-wrapper { max-height: 100% !important; top: 0; } 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM