javascript - 使用谷歌地图坐标连接两个对象数组

标签 javascript arrays

我有两个具有相似值的对象数组,但我不知道如何合并它们。

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函数:345

编辑2:请注意,这样做将覆盖原始数组(该数组作为第一个参数传递给apply函数调用)。

关于javascript - 使用谷歌地图坐标连接两个对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34003586/

相关文章:

javascript - 样式化嵌套的 li 元素

javascript - 我们能确定MVC EnableCors的由来吗?

arrays - 如何在数组中搜索另一个数组中存在的值并将找到的值的索引输出到 [mongodb] 中的新数组中

JavaScript Chrome 扩展 : Function is not defined

javascript - 访问 JavaScript 引擎 :V8 directly from android application

javascript - 如何将输入字段类型 ="password"转换为 Angular 类型 ="text"?

java - 文件到二维数组

java - 从c到java,对象

JavaScript。一个奇怪的赋值语句

javascript - 从 forEach 循环中的第二项开始