我想从多个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中完成?
答案 0 :(得分:0)
在forEach循环之外声明一个空数组,如var arr = [];
然后,只要您想要向数组添加元素,请使用
arr.push(city['letter']);