Javascript 使用.push()将数据从JSON添加到数组时未定义的值
我正在从API获取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
函数设置(){
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)代码>