Computer >> Máy Tính >  >> Lập trình >> Javascript

Chuyển đổi số hoặc đối tượng kiểu boolean JSON từ kiểu chuỗi sang kiểu ban đầu trong JavaScript

Giả sử chúng ta có một đối tượng JSON ngắn như thế này -

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

Ở đây, một số giá trị Số và Boolean, do nhầm lẫn, đã bị ép buộc thành Chuỗi.

Giống như thuộc tính age là một thuộc tính Number và isMarried là một boolean. Công việc của chúng ta là viết một hàm nhận một đối tượng như vậy và thay đổi chính xác những kiểu dữ liệu không chính xác này bằng những kiểu dữ liệu chính xác.

Ví dụ

Mã cho điều này sẽ là -

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);

Đầu ra

Và đầu ra trong bảng điều khiển sẽ là -

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