【问题标题】:Vuejs get data from array and place them in another array [duplicate]Vuejs从数组中获取数据并将它们放在另一个数组中[重复]
【发布时间】:2020-05-14 03:55:08
【问题描述】:

我有这个代码

let route = res.data.data;
console.log('data to be loop: ', route)

var ddd = [];
for(let i = 0; i < route.length; i++){
  ddd = [...route[i].longitude, ...route[i].latitude]
}
console.log('final data: ', ddd)

上面代码的结果是:

我要做的是获取每一行的longitude, latitude 并将它们作为单独的数组放入ddd 数组中。像这样:

ddd = [
  0: {
     lat: xxxxx,
     lng: xxxxx
  },
  1: {
     lat: xxxxx,
     lng: xxxxx
  }
]

我应该对我的代码进行哪些更改才能实现这一目标?

【问题讨论】:

  • 因为这些属性不是数组,所以你不会使用...route[i].longitude - 更像是ddd.push({lat:route[i].latitude, lng:route[i].longitude} - 或者更好的是var ddd = route.map(({longitude:lng, latitude:lat}) =&gt; ({lng, lat}));
  • 你能粘贴你的json而不是snapshot
  • ...route[i].longitudelatitudelongitude 字符串的每个字符传播到数组中,并在每个循环中替换它
  • @adiga 我该怎么办?

标签: javascript vue.js vuejs2


【解决方案1】:

使用JavaScript map function。您的代码将变为:

let route = res.data.data;

const ddd = route.map((element) => {
  return {
    lat: element.latitude,
    lng: element.latitude,
  };
});

【讨论】:

    【解决方案2】:

    使用Array.map:

    let route = res.data.data;
    console.log('data to be loop: ', route)
    
    let ddd = route.map(x => {
        return {
            lng: x.longitude,
            lat: x.latitude
        }
    })
    
    console.log('final data: ', ddd)
    

    【讨论】:

      猜你喜欢
      • 2013-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-19
      • 2020-06-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多