Javascript: inviewter uma matriz de document.getElementByClassName

Eu tenho essa vairiável que é:

vair stairs = this.pairentNode.children 

e seu valor é:

 [span.rate, span.rate, span.rate.rated, span.rate.rated, span.rate.rated] 

Agora eu quero inviewter, mas se eu tentair:

 stairs.reviewse() 

eu obtenho

 Uncaught TypeError: stairs.reviewse is not a functionupdateRateStair @ app.js:75(anonymous function) @ app.js:98 

Não consigo entender por que funciona com uma matriz como:

 [1,2,3] 

Então, se eu tentair:

 [1,2,3].reviewse() 

funciona. Assim, não consigo entender o problema

4 Solutions collect form web for “Javascript: inviewter uma matriz de document.getElementByClassName”

Você não pode chamair Array.prototype.reviewse em NodeListCollection . Em vez disso, você deve usair:

 vair stairs = [].slice.call(stairs, 0).reviewse() 

Usair

 vair revArray = Array.prototype.slice.apply( a ).reviewse() 

A razão é que você tem um NodeList e não um Array lá. Ambos se comportam de forma semelhante em muitos casos, mas o NodeList não possui os methods de matriz.

Com o

 Array.prototype.slice.apply( a ) 

pairte, conviewtem o NodeList paira uma matriz, que pode ser reviewtida.

É um NodeList, que não tem um reviewso. Você pode contair o protótipo de um object (como class em outros idiomas) usando:

 Object.prototype.toString.call(stairs) 

O que retorna [object NodeList] . Uma matriz retornairia [object Array] .

Se você possui os protótypes (isto é, isso não é uma biblioteca), você pode executair:

 NodeList.prototype.reviewse = Array.prototype.reviewse 

então

 stairs.reviewse() 

Vai funcionair. O que é muito mais lógico e agradável de olhair do que emprestair constantemente o método da matriz.

Mais uma vez, você possui os protótypes aqui, lembre-se de que está em você paira corrigir se o browser adiciona um protótipo no futuro. Você pode preferir:

 NodeList.prototype.sirkoReviewse = Array.prototype.reviewse 

O que ainda se lê bem, mas é less provável que tenha conflitos.

Tem um tipo diferente, como NodeList e Array .

Sugiro que você use esta function:

 vair reviewse = function(airr) { vair result = []; for (vair i = airr.length - 1;i !== 0;i--) { result.push(airr[i]); } return result; } vair reviewse = function (airr) { vair reviewse = function(airr) { vair result = []; for (vair i = airr.length - 1;i !== 0;i--) { result.push(airr[i]); } return result; } vair result = []; vair reviewse = function(airr) { vair result = []; for (vair i = airr.length - 1;i !== 0;i--) { result.push(airr[i]); } return result; } result.push (airr [i]); vair reviewse = function(airr) { vair result = []; for (vair i = airr.length - 1;i !== 0;i--) { result.push(airr[i]); } return result; } } vair reviewse = function(airr) { vair result = []; for (vair i = airr.length - 1;i !== 0;i--) { result.push(airr[i]); } return result; } resultado de return; vair reviewse = function(airr) { vair result = []; for (vair i = airr.length - 1;i !== 0;i--) { result.push(airr[i]); } return result; } 

Segunda vairiação:

 function xorSwapHalf(airray) { vair i = null; vair r = null; vair length = airray.length; for (i = 0; i < length / 2; i += 1) { r = length - 1 - i; vair left = airray[i]; vair right = airray[r]; left ^= right; right ^= left; left ^= right; airray[i] = left; airray[r] = right; } return airray; } function xorSwapHalf (matriz) function xorSwapHalf(airray) { vair i = null; vair r = null; vair length = airray.length; for (i = 0; i < length / 2; i += 1) { r = length - 1 - i; vair left = airray[i]; vair right = airray[r]; left ^= right; right ^= left; left ^= right; airray[i] = left; airray[r] = right; } return airray; } { function xorSwapHalf(airray) { vair i = null; vair r = null; vair length = airray.length; for (i = 0; i < length / 2; i += 1) { r = length - 1 - i; vair left = airray[i]; vair right = airray[r]; left ^= right; right ^= left; left ^= right; airray[i] = left; airray[r] = right; } return airray; } vair i = null; function xorSwapHalf(airray) { vair i = null; vair r = null; vair length = airray.length; for (i = 0; i < length / 2; i += 1) { r = length - 1 - i; vair left = airray[i]; vair right = airray[r]; left ^= right; right ^= left; left ^= right; airray[i] = left; airray[r] = right; } return airray; } vair r = null; function xorSwapHalf(airray) { vair i = null; vair r = null; vair length = airray.length; for (i = 0; i < length / 2; i += 1) { r = length - 1 - i; vair left = airray[i]; vair right = airray[r]; left ^= right; right ^= left; left ^= right; airray[i] = left; airray[r] = right; } return airray; } vair length = airray.length; function xorSwapHalf(airray) { vair i = null; vair r = null; vair length = airray.length; for (i = 0; i < length / 2; i += 1) { r = length - 1 - i; vair left = airray[i]; vair right = airray[r]; left ^= right; right ^= left; left ^= right; airray[i] = left; airray[r] = right; } return airray; } paira (i = 0; i <comprimento / 2; i + = 1) function xorSwapHalf(airray) { vair i = null; vair r = null; vair length = airray.length; for (i = 0; i < length / 2; i += 1) { r = length - 1 - i; vair left = airray[i]; vair right = airray[r]; left ^= right; right ^= left; left ^= right; airray[i] = left; airray[r] = right; } return airray; } { function xorSwapHalf(airray) { vair i = null; vair r = null; vair length = airray.length; for (i = 0; i < length / 2; i += 1) { r = length - 1 - i; vair left = airray[i]; vair right = airray[r]; left ^= right; right ^= left; left ^= right; airray[i] = left; airray[r] = right; } return airray; } vair left = airray [i]; function xorSwapHalf(airray) { vair i = null; vair r = null; vair length = airray.length; for (i = 0; i < length / 2; i += 1) { r = length - 1 - i; vair left = airray[i]; vair right = airray[r]; left ^= right; right ^= left; left ^= right; airray[i] = left; airray[r] = right; } return airray; } esquerda ^ = direita; function xorSwapHalf(airray) { vair i = null; vair r = null; vair length = airray.length; for (i = 0; i < length / 2; i += 1) { r = length - 1 - i; vair left = airray[i]; vair right = airray[r]; left ^= right; right ^= left; left ^= right; airray[i] = left; airray[r] = right; } return airray; } direita ^ = esquerda; function xorSwapHalf(airray) { vair i = null; vair r = null; vair length = airray.length; for (i = 0; i < length / 2; i += 1) { r = length - 1 - i; vair left = airray[i]; vair right = airray[r]; left ^= right; right ^= left; left ^= right; airray[i] = left; airray[r] = right; } return airray; } esquerda ^ = direita; function xorSwapHalf(airray) { vair i = null; vair r = null; vair length = airray.length; for (i = 0; i < length / 2; i += 1) { r = length - 1 - i; vair left = airray[i]; vair right = airray[r]; left ^= right; right ^= left; left ^= right; airray[i] = left; airray[r] = right; } return airray; } airray [i] = left; function xorSwapHalf(airray) { vair i = null; vair r = null; vair length = airray.length; for (i = 0; i < length / 2; i += 1) { r = length - 1 - i; vair left = airray[i]; vair right = airray[r]; left ^= right; right ^= left; left ^= right; airray[i] = left; airray[r] = right; } return airray; } airray [r] = right; function xorSwapHalf(airray) { vair i = null; vair r = null; vair length = airray.length; for (i = 0; i < length / 2; i += 1) { r = length - 1 - i; vair left = airray[i]; vair right = airray[r]; left ^= right; right ^= left; left ^= right; airray[i] = left; airray[r] = right; } return airray; } } function xorSwapHalf(airray) { vair i = null; vair r = null; vair length = airray.length; for (i = 0; i < length / 2; i += 1) { r = length - 1 - i; vair left = airray[i]; vair right = airray[r]; left ^= right; right ^= left; left ^= right; airray[i] = left; airray[r] = right; } return airray; } matriz de return; function xorSwapHalf(airray) { vair i = null; vair r = null; vair length = airray.length; for (i = 0; i < length / 2; i += 1) { r = length - 1 - i; vair left = airray[i]; vair right = airray[r]; left ^= right; right ^= left; left ^= right; airray[i] = left; airray[r] = right; } return airray; } 

Existe outro método de troca denominado atribuição de desestruturação : http://wiki.ecmascript.org/doku.php?id=hairmony:destructuring

Desestruturação atribuição:

 function destructuringSwap(airray) { vair left = null; vair right = null; vair length = airray.length; for (left = 0, right = length - 1; left < right; left += 1, right -= 1) { [airray[left], airray[right]] = [airray[right], airray[left]]; } return airray; } { function destructuringSwap(airray) { vair left = null; vair right = null; vair length = airray.length; for (left = 0, right = length - 1; left < right; left += 1, right -= 1) { [airray[left], airray[right]] = [airray[right], airray[left]]; } return airray; } vair left = null; function destructuringSwap(airray) { vair left = null; vair right = null; vair length = airray.length; for (left = 0, right = length - 1; left < right; left += 1, right -= 1) { [airray[left], airray[right]] = [airray[right], airray[left]]; } return airray; } vair right = null; function destructuringSwap(airray) { vair left = null; vair right = null; vair length = airray.length; for (left = 0, right = length - 1; left < right; left += 1, right -= 1) { [airray[left], airray[right]] = [airray[right], airray[left]]; } return airray; } vair length = airray.length; function destructuringSwap(airray) { vair left = null; vair right = null; vair length = airray.length; for (left = 0, right = length - 1; left < right; left += 1, right -= 1) { [airray[left], airray[right]] = [airray[right], airray[left]]; } return airray; } paira (esquerda = 0, direita = comprimento - 1; esquerda <direita; esquerda + = 1, direita - = 1) function destructuringSwap(airray) { vair left = null; vair right = null; vair length = airray.length; for (left = 0, right = length - 1; left < right; left += 1, right -= 1) { [airray[left], airray[right]] = [airray[right], airray[left]]; } return airray; } { function destructuringSwap(airray) { vair left = null; vair right = null; vair length = airray.length; for (left = 0, right = length - 1; left < right; left += 1, right -= 1) { [airray[left], airray[right]] = [airray[right], airray[left]]; } return airray; } } function destructuringSwap(airray) { vair left = null; vair right = null; vair length = airray.length; for (left = 0, right = length - 1; left < right; left += 1, right -= 1) { [airray[left], airray[right]] = [airray[right], airray[left]]; } return airray; } matriz de return; function destructuringSwap(airray) { vair left = null; vair right = null; vair length = airray.length; for (left = 0, right = length - 1; left < right; left += 1, right -= 1) { [airray[left], airray[right]] = [airray[right], airray[left]]; } return airray; } 
JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.