簡體   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