Matrice Inverse n'est pas de travail pour moi ...
Considérons le code suivant (réaction de code JS):
poll() {
var self = this;
var url = "//" + location.hostname + "/api/v1/eve/history/historical-data/" + this.state.itemId + '/' + this.state.regionId + '/40';
$.get(url, function(result) {
console.log(result.data, result.data.reverse());
self.setState({
error: null,
historicalData: result.data.reverse(),
isLoading: false
});
}).fail(function(response) {
self.setState({
error: 'Could not fetch average price data. Looks like something went wrong.',
});
});
}
Avis de la console.journal. Permet de voir une image:
Dernière, j'ai vérifié, l'inverse doit avoir inversé l'ordre de la matrice. Pourtant, il ne le fait pas.
Suis-Je L'utilisation de ce mal (officiel MDN Docs)? Pourquoi ne pas inverser la de travail?
À partir du MDN docs: "La
J'ai essayé cette façon de penser que je pouvais faire:
Non, c' est inversé. La console est en quelque soit le navigateur que vous utilisez la montre des objets dans leur état actuel, de sorte
Mais cela ne m'aide pas du tout parce que quand les données sont placées dans les cartes les étiquettes de lecture à partir d'aujourd'hui à hier, même si elle a été inversés, ils auraient lu hier à aujourd'hui
Votre code ci-dessus appels
reverse()
méthode de l'inverse d'une matrice lieu." (l'emphase est pas le mien)J'ai essayé cette façon de penser que je pouvais faire:
result.data.reverse()
puis juste console.log()
result.data
. Hélas il n'est pas inverséNon, c' est inversé. La console est en quelque soit le navigateur que vous utilisez la montre des objets dans leur état actuel, de sorte
result.data.reverse(); console.log(result.data);
vous donnera exactement le même résultat que console.log(result.data); result.data.reverse();
Mais cela ne m'aide pas du tout parce que quand les données sont placées dans les cartes les étiquettes de lecture à partir d'aujourd'hui à hier, même si elle a été inversés, ils auraient lu hier à aujourd'hui
Votre code ci-dessus appels
result.data.reverse()
deux fois. Cela signifie que lorsque votre tableau est indiqué, il sera dans l'ordre original. Avez-vous essayé à l'aide de code que seuls les appels result.data.reverse()
une fois?OriginalL'auteur TheWebs | 2016-03-03
Vous devez vous connecter pour publier un commentaire.
Comme décrit à https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse,
reverse()
inverse l'ordre d'un tableau en place, le tableau est inversé après avoir été appelé. Vous êtes de l'appeler deux fois, résultant dans le tableau restauré à sa commande initiale. Essayez ceci:Avez-vous compris Matt Harrison réponse? La console se connecte au tableau dans l'ordre inverse deux fois, parce que c'est l'évaluation de l'inverse() appeler avant de vous connecter.
OriginalL'auteur AmericanUmlaut
Il a renversé, le
reverse()
est exécutée avant laconsole.log()
. Il se transforme le tableau réel de la première à la place de retourner une référence, alors quand il est connecté,a
est également inversé.Tout à l'intérieur de la
console.log
parens est évalué en premier. Essayez 2 inverse, pouvez-vous deviner ce qui se passe, il remonte à l'origine de l'ordre, comme dans votre exemple.var reversedData = result.data.reverse(); console.log(reversedData);
Encore le tableau n'est pas inversée. il montre exactement le même qu'avant. Quelqu'un a suggéré de son parce que j'appelle inverse ailleurs, mais jamais le moins ce morceau de code n'est pas d'inverser la matrice. Je ne suis pas sûr pourquoi.Dans votre exemple, vous appelez
result.data.reverse()
deux fois. Donc, c'est le retour à l'ordre original.Votre capture d'écran est
already
montrant le tableau dans l'ordre inverse. Supprimer tous les appels àresult.data.reverse()
et journalresult.data
à la console, et je pense que vous verrez dans l'ordre original.OriginalL'auteur Matt Harrison
La source de votre problème est que vous ne comprenez pas comment la console de votre navigateur fonctionne.
De nombreux navigateurs ont des consoles d'affichage des objets dans l'état où elles sont lorsque vous développez dans la console ou lorsque vous ouvrez la console, même si elles changent après
console.log()
est appelé. Donc, si vous n':vous verrez le même résultat deux fois. La deuxième ligne inverse de la matrice de en place, donc, à la fois journal des sorties sont montrant le même tableau, dans son état actuel.
Pour démontrer ce comportement de la console, vous pouvez effectuer les opérations suivantes:
ce que vous allez voir, c'est que
b.a
est[1, 9, 3]
dans les deux sorties de la console.OriginalL'auteur JLRishe
si vous avez une propriété sortable au sein de votre groupe d'objets, de "trier" fera le réarrangement après l'insertion d'un élément dans les éléments
dire,
OriginalL'auteur Joseph Ocampo