【问题标题】:Append datatypes in array of dictionary (javascript)在字典数组中附加数据类型(javascript)
【发布时间】:2021-08-09 20:53:57
【问题描述】:

我有array1形式的数组,我想把它转换成array2

const array1 = [
  {name:'sds',long:'23',lat:'22'}, 
  {name:'sdsd',long:'33',lat:'55'}, 
  {name:'sds',long:'44',lat:'66'}
];

const array2 = [
  {name:'sds',long:23,lat:22}, 
  {name:'sdsd',long:33,lat:55}, 
  {name:'sds',long:44,lat:66}
];

基本上,我想更改经度和纬度的数据类型**(java script**)如果你知道请告诉我

【问题讨论】:

  • 你能分享一下你试过的东西吗?
  • 是的,我必须使用 foreach 循环来使用它,但它不起作用
  • foreach 是一个好的开始,但有什么没有奏效?你能证明你做了什么吗?
  • 好的,所以我取了一个空数组并尝试附加值

标签: javascript arrays dictionary data-structures type-conversion


【解决方案1】:

只需映射数组并将string 转换为Number,通过将+ 附加到String 类型将使String 类型变为Number 类型。

array1.map(({ name, long, lat }) => ({ name, long: +long, lat: +lat }));

const array1 = [
  { name: "sds", long: "23", lat: "22" },
  { name: "sdsd", long: "33", lat: "55" },
  { name: "sds", long: "44", lat: "66" },
];

const result = array1.map(({ name, long, lat }) => ({ name, long: +long, lat: +lat }));
console.log(result);

【讨论】:

【解决方案2】:

兄弟,你可以试试这个。希望这会帮助你。谢谢。

const array1 = [
  {name:'sds',long:'23',lat:'22'}, 
  {name:'sdsd',long:'33',lat:'55'}, 
  {name:'sds',long:'44',lat:'66'}
];

const array2 = array1.map(item => ({
  name: item.name,
  long: parseInt(item.long),
  lat: parseInt(item.lat),
}));

console.log(array2)

【讨论】:

    【解决方案3】:

    粗暴的方式是:

    const array1 = [
      {name:'sds',long:'23',lat:'22'}, 
      {name:'sdsd',long:'33',lat:'55'}, 
      {name:'sds',long:'44',lat:'66'}
    ];
    
    
    const x  = array1.map(y => {
        // console.log(y);
        y.long = parseInt(y.long);
        y.lat = parseInt(y.lat);
        return y; 
    });
    
    console.log(x);

    输出将符合预期。它基本上映射每个项目并进行解析。

    【讨论】:

      猜你喜欢
      • 2015-08-30
      • 2018-01-16
      • 1970-01-01
      • 2023-02-25
      • 2015-11-08
      • 1970-01-01
      • 1970-01-01
      • 2019-01-17
      • 2016-06-11
      相关资源
      最近更新 更多