Javascript 将值从JSON对象推送到数组并使用外部函数
我正在编写一个axios JSON数据调用函数,希望将jJSON函数中的值推送到函数外部使用。我有什么办法可以做到吗 我的代码:Javascript 将值从JSON对象推送到数组并使用外部函数,javascript,jquery,arrays,json,axios,Javascript,Jquery,Arrays,Json,Axios,我正在编写一个axios JSON数据调用函数,希望将jJSON函数中的值推送到函数外部使用。我有什么办法可以做到吗 我的代码: let website_names = `${api}`; axios.get(website_names, { cancelToken: new CancelToken(function executor(c) { api_requests.website_nm = c; }) }) .then(function(we
let website_names = `${api}`;
axios.get(website_names, {
cancelToken: new CancelToken(function executor(c) {
api_requests.website_nm = c;
})
})
.then(function(website_name) {
website_name.data.forEach(d => {
let yoyo = [];
yoyo.push(d.element);
console.log(yoyo);
});
}).catch(function(error) {
console.log(error);
alert_error(error);
});
这个给了我:
- {元素:“谷歌”}
- {元素:“雅虎”}
- {元素:“Facebook”}
- {元素:“BuzzFeed”}
- {元素:“Cnet”}
[“谷歌”、“雅虎”、“Facebook”、“BuzzFeed”、“Cnet”]
但我还需要在axios函数之外使用
yoyo
。在axios内部形成阵列后,我需要使用该阵列。您可以使用map
实现此目的:
const getWebsites=()=>{
让网站名称=`${api}`;
返回轴
.获取(网站名称{
cancelToken:新的cancelToken(函数执行器(c){
api_requests.website_nm=c;
})
})
.然后(功能(网站名称){
返回网站名称.data.map(d=>d.element);
})
.catch(函数(错误){
console.log(错误);
警报错误(错误);
});
};
getWebsites()。然后(yoyo=>{
//现在您拥有了数组
});代码>您在每次迭代中创建一个新数组,从而破坏以前的数组。数组应在forEach
循环之外初始化:
let yoyo = [];
website_name.data.forEach(d => {
yoyo.push( d.element );
});
console.log(yoyo);
谢谢如何在axios函数之外获得该数组?我想在代码的其他地方使用该数组更新我的答案;如果您对axios调用进行功能化并返回承诺
,则可以对其调用。然后()
,调用的函数将具有数组。这也可以工作,但如何在函数外部使用数组?如何将数组作为参数传递给使用它的函数?您能给我一个示例吗?我对怎么做很困惑?如果functionOne
是您需要的yoyo
,那么只要在yoyo
可用时调用functionOne(yoyo)
。