子数组,数组中可变数量的值以及重复的检索

时间:2017-06-29 19:31:12

标签: javascript arrays

我想从多个API获取数据:

var apis = ['http://api1.com/get', 'http://api13.com/get', 'http://api11.com/get', 'http://api11.com/get', 'http://api2.com/get'];

var apis = ['http://api1.com/get', 'http://api5.com/get'];

每个api都会返回我的对象​​,例如:

{
   title: example,
   cities: {{'letter' : 'A', 'name': 'Mexico'}, {'letter' : 'B', 'name' : 'New York'}, {'letter': 'C', 'name': 'London'}}
}

这个城市总是有相同的字母。

apis.forEach(function(api) {
    //get operations...
    var cities = api.cities;
});

这里我应该将数据分配给数组,以便我以后可以比较它们,但我不知道该怎么做。

在PHP中,我可以:

$array = [];
foreach ($apis as $i => $api) {
    //get operations...
    foreach ($cities as $city) {
       $array[$i][] = $city['letter'];
    }
}

$repetitions = call_user_func_array("array_intersect", $array);

我如何在JavaScript中完成?

1 个答案:

答案 0 :(得分:0)

在forEach循环之外声明一个空数组,如var arr = []; 然后,只要您想要向数组添加元素,请使用 arr.push(city['letter']);