將字串型別的 JSON 物件從字串型別轉換為其在 JavaScript 中的原始型別(數字或布林型別)


假設我們有一個這樣的簡短 JSON 物件 -

const obj = {"name":"sam","age":"24","isMarried":"false"};

這裡,一些數字和布林值被錯誤地強制轉換為字串。

比如 Number 型別的 age 屬性和 boolean 型別的 isMarried 屬性。我們的工作是編寫一個函式,該函式獲取這樣一個物件,並用正確的型別正確地更改這些不正確的資料型別。

示例

程式碼如下 -

const obj = {
   "name":"sam",
   "age":"24",
   "isMarried":"false"
};
const convertToOriginal = (obj = {}) => {
   const keys = Object.keys(obj);
   for(let i = 0; i < keys.length; i++){
      const key = keys[i];
      const num = parseInt(obj[key], 10);
      const val = obj[key];
      if(num && String(num) === val){
         obj[key] = num;
      }
      else if(val === 'true' || val === 'false'){
         obj[key] = Boolean(val);
      };
   };
};
convertToOriginal(obj);
console.log(obj);

輸出

控制檯中的輸出如下 -

{ name: 'sam', age: 24, isMarried: true }

更新於: 2020 年 11 月 23 日

900 次瀏覽

開啟你的 職業

完成課程並獲得認證

馬上開始
廣告