Преобразование массива с другим типом данных - PullRequest
0 голосов
/ 02 марта 2019

Как преобразовать это в Javascript из:

[
   {
      "label": "Purok I",
      "y": "1"
   },
   {
      "label": "Purok II",
      "y": "1"
   },
   {
      "label": "Purok III",
      "y": "2"
   }
]

в:

[
   {
      label: "Purok I",
      y: 1
   },
   {
      label: "Purok II",
      y: 1
   },
   {
      label: "Purok III",
      y: 2
   }
]

Любая помощь?

Ответы [ 3 ]

0 голосов
/ 02 марта 2019

Преобразуйте все строковые числа в нестроковые числа, используя map и деструктурируя следующим образом:

const data = [
   {
      "label": "Purok I",
      "y": "1"
   },
   {
      "label": "Purok II",
      "y": "1"
   },
   {
      "label": "Purok III",
      "y": "2"
   }
];

const numbered = data.map(({ label, y }) => { return {label, y: parseInt(y)}});

console.log(numbered);
.as-console-wrapper { max-height: 100% !important; top: auto; }

РЕДАКТИРОВАТЬ

Оказывается невозможным делать имена свойств без строк:

var obj = {
  foo: "bar",
  one: 1
};

console.log(obj);
0 голосов
/ 02 марта 2019

let  p = [
   {
      "label": "Purok I",
      "y": "1"
   },
   {
      "label": "Purok II",
      "y": "1"
   },
   {
      "label": "Purok III",
      "y": "2"
   }
]

let result = p.map(function(x) { 
    x.y = Number(x.y);  
    return x;
});

console.log(result);
0 голосов
/ 02 марта 2019

Этот метод автоматически обновит все числовые типы в ваших объектах.

let arr = [{
    "label": "Purok I",
    "y": "1"
  },
  {
    "label": "Purok II",
    "y": "1"
  },
  {
    "label": "Purok III",
    "y": "2",
    "example": "432.23"
  }
];

// Map over your array of objects
arr = arr.map(obj => {
  // Map over all the keys in your object
  Object.keys(obj).map(key => {
    // Check if the key is numeric
    if (!isNaN(obj[key])) {
      obj[key] = +obj[key];
    }
  })
  return obj;
});
console.log(arr);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...