Javascript 将两个包含数组的对象连接到一个包含对象的数组中
我试图将包含对象的两个数组连接到包含所有对象的一个数组中,我希望这是有意义的Javascript 将两个包含数组的对象连接到一个包含对象的数组中,javascript,arrays,object,ecmascript-6,Javascript,Arrays,Object,Ecmascript 6,我试图将包含对象的两个数组连接到包含所有对象的一个数组中,我希望这是有意义的 getEntries() { const linksArr = ['/api/aggregated', '/api/techmetro']; axios.all(linksArr.map(l => axios.get(l))).then(axios.spread((...res) => { // all requests are now compl
getEntries() {
const linksArr = ['/api/aggregated', '/api/techmetro'];
axios.all(linksArr.map(l => axios.get(l))).then(axios.spread((...res) => {
// all requests are now complete
this.articles = res;
}));
},
我确实明白
articles:Array[2]
0:Object
config:Object
data:Object
data:Array[10]
0: Object
...
meta:Object
headers:Object
request:XMLHttpRequest
status:200
statusText:"OK"
1:Object
config:Object
data:Object
data:Array[1]
0: Object
0:Object
meta:Object
headers:Object
request:XMLHttpRequest
status:200
statusText:"OK"
但我想说的是:
articles:Array[11]
0: Object
...
我错过了什么?非常感谢我想你在找
….then(([aggregateds, techmetros]) => {
this.articles = aggreateds.concat(techmetros);
});
或同等品
….then(res => {
this.articles = res[0].concat(res[1]);
});
如果可以连接多个数组,即res.length!=2、你可以使用[].concat…res.我认为最简单的方法是从回答中获取数据,如
... .then( allresponses =>
allresponses.reduce( (current, item) => current.concat( item.data ), []) ...
您将请求作为数组发送,以便正确解析,但是,响应包含一个名为data的属性的对象,我猜这就是您希望处理的对象,不是响应本身是的,但是axios.spread…res.data或this.articles=res.data都有效axios.spread…res看起来确实错误这仍然只会影响响应,而不会影响数据属性下的文章很多Bergi和icepickle,concat总是抛出.concat不是函数..如果我尝试访问.data`.thenres=>{this.articles=res[0].data.concatres[1].data;}`@Icepickle啊,我无法破译那个非JSON表示,我只是用了两个包含对象的数组的描述。当然,在解构中添加属性访问器或使用[{data:aggregateds},{data:techmetros}]=>…是很简单的。