简体   繁体   English

如何将 2 个 arrays 合并到 Javascript 中的 1 个数组中?

[英]How to merge 2 arrays into 1 array in Javascript?

I would like to merge my array into one while creating different objects inside it.我想将我的数组合并为一个,同时在其中创建不同的对象。 The result I want to achieve is:我想要达到的结果是:

[{latitude: 19.04890787659077,longitude: 47.49627131324106}, {latitude: 19.07438856746581, longitude: 47.49834420053164}, {etc..}]

My current arrays look like this:我当前的 arrays 看起来像这样:

0: 19.04890787659077
1: 18.93150306374864
2: 18.570734077493597
3: 17.948338720442376
4: 18.594379058124062

0: 47.49627131324106
1: 47.44522085405608
2: 47.482922755413774
3: 47.31701880320728
4: 46.052752331223935

The data will be dynamic so I can't solve it by [{latitude: Arr[0], longitude: Arr[5]}, {etc..}]数据将是动态的,所以我无法通过 [{latitude: Arr[0], longitude: Arr[5]}, {etc..}] 解决它

 const arr1 = [ 19.04890787659077, 18.93150306374864, 18.570734077493597, 17.948338720442376, 18.594379058124062 ]; const arr2 = [ 47.49627131324106, 47.44522085405608, 47.482922755413774, 47.31701880320728, 46.052752331223935 ]; const result = arr1.map((v, i) => ({ latitude: v, longitude: arr2[i] })); console.log(result);

I am not 100% sure what you meant but I think you are looking for one of these:我不是 100% 确定你的意思,但我认为你正在寻找其中之一:

Array.prototype.push.apply(arr1,arr2);

or或者

arr1 = arr1.concat(arr2)

These are the old school methods, the new way to do it is这些是老派的方法,新的方法是

var arr3 = [...arr1, ...arr2]

If you have only one array like this:如果你只有一个这样的数组:

const a = [19, 18, 17, 18, 19, 47, 46, 46, 47, 47];

I tried this:我试过这个:

const mid = Math.floor(a.length/2);
const result = a.slice(0, mid).map((el, idx) => ({lat:el, lon:a[idx+mid]}))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM