[英]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
。
您可以在必要時使用parseInt
和parseFloat
。
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);
您可以使用Number將string
轉換為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.