Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将值从JSON对象推送到数组并使用外部函数_Javascript_Jquery_Arrays_Json_Axios - Fatal编程技术网

Javascript 将值从JSON对象推送到数组并使用外部函数

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

我正在编写一个axios JSON数据调用函数,希望将jJSON函数中的值推送到函数外部使用。我有什么办法可以做到吗

我的代码:

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”}
我需要yoyo=
[“谷歌”、“雅虎”、“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)