gpt4 book ai didi

JavaScript getJSON 返回数组中的重复值

转载 作者:行者123 更新时间:2023-12-03 04:59:38 24 4
gpt4 key购买 nike

我正在尝试解析 json 结果,但我不断在数组中获取重复的值。看起来代码运行了两次。这是我的代码,如有任何反馈,我们将不胜感激

var channels = ["ESL_SC2", "OgamingSC2", "cretetion", "freecodecamp", "storbeck", "habathcx", "RobotCaleb", "noobs2ninjas", "brunofin", "comster404"]
var clientID = "######";
var allChannels = [];
var feedReturn = [];
$(document).ready(function() {
for (var i = 0; i < channels.length; i++) {
allChannels[i] = channels[i];
//allChannels[i][0] = channels[i]
$.getJSON("https://api.twitch.tv/kraken/streams/" + channels[i] + "?
client_id = sbp1wnku2j32dtnjj4qefhslopxq8s ",function(data){
$.each(data, function(i) {
if (data.stream == null) {
feedReturn.push(["Null", data._links.channel]);
} else {
feedReturn.push(["Not Null", data._links.channel]);
}
//console.log(data.stream);
// console.log(data._links.channel);
//feedReturn.push(data.stream,data._links.channel);
})
})
}
});
console.log(feedReturn);

最佳答案

您正在对 data 对象调用 $.each(),这将返回一个长度等于该对象的属性数量的数组。由于返回的 API 数据有两个属性(_links、stream),因此每次 API 调用都会运行 .push() 2 次。只需删除 $.each() 即可解决数组中重复记录的问题。

$.getJSON("https://api.twitch.tv/kraken/streams/"+channels[i]+"?client_id=sbp1wnku2j32dtnjj4qefhslopxq8s",function(data){
if(data.stream == null){

feedReturn.push(["Null",data._links.channel]);

} else {

feedReturn.push(["Not Null",data._links.channel]);
}
});

关于JavaScript getJSON 返回数组中的重复值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42286860/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com