Ich versuche, alle Zuschauer (Leute im Chat) von einem bestimmten Kanal auf twitch, in ein Array zu bekommen.Benötigen Sie Hilfe setzen mehrere Arrays von einem JSONP Anruf in ein einziges Array
Der JSONP Anruf funktioniert, aber die Twitch API gibt mehrere Arrays:
- Moderatoren
- Mitarbeiter
- admins
- global_mods
- Zuschauer
ich setzen will alle Benutzernamen, die in diesen Arrays sind, in ein einziges ar Strahl (d.h. "peopleinchat").
Mein Ansatz war, zuerst das Array zu deklarieren:
var peopleinchat= [];
Und dann jede nachfolgende Array hinzufügen (Gruppe) von Menschen auf dieses Array mit $.merge()
. Ich kann es aber nicht zum Funktionieren bringen ... Ich bekomme "TypeError: Kann die Eigenschaft 'length' von undefined nicht lesen". Kannst du mir helfen?
Danke!
$.ajax({
url: "https://tmi.twitch.tv/group/user/batuhanbuyukakkan/chatters",
// The name of the callback parameter, as specified by the YQL service
jsonp: "callback",
// Tell jQuery we're expecting JSONP
dataType: "jsonp",
// Work with the response
success: function(response) {
var peopleinchat = [];
$.each(response, function(index, data){
$.each(data.chatters, function(index, group){
$('.viewers').append(index + ': ' + group);
$('.viewers').append('<br>');
$.merge(peopleinchat, group);
});
});
$('.array_result').append(peopleinchat);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="viewers"></div>
<br>
<br>
<div class="array_result"></div>
Ich verstehe nicht, warum ich diese 'Typeerror bin immer: Kann nicht Eigenschaft‚Länge‘von undefined' lesen. Es scheint nicht damit zu tun zu haben, die verschiedenen Arrays in ein größeres Array zu setzen, aber es verhindert, dass der Code weiter ausgeführt wird als die letzte Schleife: S –