我有两个具有相似值的对象数组,但我不知道如何合并它们。
var Cars = [{
lat: 42,
lng: -72
}, {
lat: 40.7127837,
lng: -74.0059413
}, {
lat: 40.735657,
lng: -74.1723667
}];
var Trucks = [{
lat: 43,
lng: -72.5
}, {
lat: 40.612837,
lng: -74.1239413
}, {
lat: 40.564657,
lng: -74.1803667
}];
我已经尝试了下面的代码,但我在控制台中得到的只是一堆没有值的对象。
var Vehicles = Cars.concat(Trucks);
for (var i = 0; i < Vehicles.length; i++)
{
console.log(Vehicles[i]);
}
最佳答案
Array.prototype.push.apply(Cars, Trucks)
编辑:解释
汽车
和卡车
都是数组
。 Array
原型(prototype)上的 push
函数接收任意数量的参数,并将每个参数推送到一个数组中。例如:
var a = [1,2];
a.push(3,4,5);
console.log(a); // => [1,2,3,4,5]
在任何函数上调用apply
时,您指定两件事:函数内this
变量的值,以及一个包含以下内容的数组:传递给函数的参数列表。因此调用
Array.prototype.push.apply(a, [3,4,5])
将通过向a
数组传递三个参数来调用push
函数:3
、4
和5
。
编辑2:请注意,这样做将覆盖原始数组(该数组作为第一个参数传递给apply
函数调用)。
关于javascript - 使用谷歌地图坐标连接两个对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34003586/