为了简单性和可重用性,我对下面的代码进行了重组。我的要求很简单:我有一个空数组列表,映射到某些键(对应于一组唯一的ID)。
为了将数据存储到这n个数组中,我有一个通用的API调用,其请求有效载荷将包含引用数据的id,然后在收到响应时,我希望查找对象内部变量的名称,对应于id并在继续进行下一次迭代之前存储值/id
示例:如果id的值为1,则请求负载的id为1,对应的响应数据保存到映射[1]ie的值中。水果……(数组名为"fruits"而不是对象的值,我该怎么做呢?)
let fruits=[]
let vegetables=[]
let nuts=[] ......etc upto n number of entries
let mapped={1:fruits,2:vegetables,3:nuts,.......(other 'n' entries) }
for(let i=1;i<=15;i++){
let payload={id:i}
this.apiService.fetchReferenceData(payload).then((response)=>{
mapped[i]=response.data //the value I receive here needs to be stored into the array matching the name of the object value
})
}
}
Jay Swamianrayan!
其他一切看起来都很好…也许你要找的是……
mapped[i].push(response.data)
不是
mapped[i]=response.data
您可以使用像push
这样的数组方法将值存储在数组中。
所以不用-mapped[i]=response.data
,可以用mapped[i].push(response.data)
p。S:根据您提供的代码,我假设您将每个数组(水果,蔬菜等)的引用存储在mapped
对象中。