Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.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 使用.push()将数据从JSON添加到数组时未定义的值_Javascript_Json_P5.js - Fatal编程技术网

Javascript 使用.push()将数据从JSON添加到数组时未定义的值

Javascript 使用.push()将数据从JSON添加到数组时未定义的值,javascript,json,p5.js,Javascript,Json,P5.js,我正在从API获取JSON数据。我的代码如下所示: 函数设置(){ noLoop(); //启用跨源请求 让我们合作吧https://cors-anywhere.herokuapp.com/'; //API链接 让源代码为http://hitchwiki.org/maps/api/?continent=AF'; 让url=CO+source; loadJSON(url,insertInToArray); } 函数插入数组(数据){ var-id=[]; var count=Object.key

我正在从API获取JSON数据。我的代码如下所示:

函数设置(){
noLoop();
//启用跨源请求
让我们合作吧https://cors-anywhere.herokuapp.com/';
//API链接
让源代码为http://hitchwiki.org/maps/api/?continent=AF';
让url=CO+source;
loadJSON(url,insertInToArray);
}
函数插入数组(数据){
var-id=[];
var count=Object.keys(data).length;
for(设i=0;i

我总是使用
async
wait
来处理JSON请求

async function insertInToArray(data) {
    ...
    var count = await Object.keys(data).length;
    ...

do
ids[i]=cod
而不是
ids[i].push(cod)

函数设置(){
noLoop();
//启用跨源请求
让我们合作吧https://cors-anywhere.herokuapp.com/';
//API链接
让源代码为http://hitchwiki.org/maps/api/?continent=AF';
让url=CO+source;
loadJSON(url,insertInToArray);
}
函数插入数组(数据){
var-id=[];
var count=Object.keys(data).length;
for(设i=0;i

数据是一个数组,因此您可以使用映射:

function insertInToArray(data) {
  var ids = data.map(
    function(item){ return item.id; }
  )
  console.log(ids);
}

push
将一个元素放在数组的末尾,这样就可以像处理
ids[i]一样推送索引
没有任何意义,除非元素是数组,但情况似乎不是(?)
ids[i]==undefined
尝试只执行
ids。push
谢谢,现在它可以工作了。不确定
数据究竟包含什么,但是API返回的JSON已经是一个数组:如果您想要获取id:
var-ids=data.map(e=>e.id)