Necesito una matriz tipada, específicamente una Float32Array, de todos los ceros. Estaba pensando que tendría que borrarlo manualmente, pero me di cuenta de que cuando lo declare, ya estaba en cero. ¿Esto es algo que se especifica en la especificación? ¿Puedo confiar en este comportamiento?¿Las matrices con Javascript se inicializaron en 0?
Respuesta
Según JavaScript's Typed Array Specification, contents are initialized to 0. Entonces deberías poder confiar en este comportamiento.
Tenga en cuenta que las matrices mecanografiadas don't have very good cross browser support yet. Chrome, Safari, Firefox y Opera lo admiten, pero Internet Explorer solo presentó soporte en IE10.
Debo mencionar también que las matrices tipadas son actualmente extremely slow in Safari en comparación con las matrices normales. Por esta razón, es mejor que evites las matrices tipadas a menos que no tengas como objetivo Safari. Usando matrices normales, todos los valores de la matriz se inicializan como undefined
.
Por defecto, las matrices contienen null
si las construye con un tamaño. Desde null == 0
, podría considerarlo lleno con 0
, o cualquier otro valor de falsy. Sin embargo, se encontrará con problemas si intenta llamar métodos a los números, como .toString
. O si lo ejecuta a través de una función que espera un formulario numérico como parseInt
.
Idealmente, siempre se debe inicializar una matriz de modo que usted sepa exactamente lo que contiene, aunque personalmente nunca he oído hablar de matrices con tipo de JS ...
* Por defecto, las matrices contienen nulo si las construyes con un tamaño *: no. Pruebe en su consola: 'var a = []; a.length = 5; console.log (a [3]) 'o' var a = new Array (5); console.log (a [3]) ' – KooiInc
Ambos me dan una matriz llena de' null's, a menos que sea un malentendido. –
¿Tal vez hay una diferencia en el navegador? En la consola de Chrome 'console.log (a)' muestra '[undefined × 5]' – KooiInc
- 1. ¿Las matrices de JavaScript realmente se implementan como matrices?
- 2. Matrices con 0 elementos
- 3. matrices .NET con límite inferior> 0
- 4. ¿Las matrices de Javascript son dispersas?
- 5. ¿Cómo se implementan las matrices en Perl?
- 6. ¿Las entradas siempre se inicializan en 0?
- 7. ¿Cómo se pasan las matrices?
- 8. matrices multidimensionales de JavaScript
- 9. ¿Cómo se implementan las matrices en Java?
- 10. ¿Las matrices numpy se pasan por referencia?
- 11. ¿Por qué veo que las matrices de JavaScript se crean con string.split()?
- 12. unique() para matrices en javascript
- 13. Herencia de Javascript y matrices
- 14. javascript :; vs javascript: void (0);
- 15. ¿Cómo puedo verificar las matrices de JavaScript para cadenas vacías?
- 16. ¿Las matrices de JavaScript en realidad están vinculadas?
- 17. setInterval() el comportamiento con 0 milisegundos en JavaScript
- 18. Combinar dos matrices en JavaScript
- 19. ¿Puedo almacenar funciones de JavaScript en matrices?
- 20. iterando Javascript matrices con el "en" palabra clave
- 21. href = "javascript:" vs. href = "javascript: void (0)"
- 22. ¿Cómo las matrices 2D en C se convierten en matrices 1D?
- 23. ¿Cómo se usan las matrices débiles?
- 24. Comparar dos matrices Javascript - Asociativo
- 25. ¿Cómo declaro dos matrices dimensionales en javascript?
- 26. ¿Por qué es "0 === -0" verdadero en JavaScript?
- 27. # o javascript: void (0)?
- 28. Javascript - Restablecer setInterval a 0
- 29. PHP, La fusión de las matrices con las claves comunes
- 30. ¿Por qué las matrices UInt16 parecen agregar más rápido que las matrices en línea?
¿Qué quiere decir con 'cero'? – KooiInc
¿Puedes mostrar tu código? javascript no tiene matrices tipadas. Una matriz contiene todo lo que decida poner en ella; p.ej. '[1," hello ", {a: 3}]' es una matriz válida en javascript. – jackwanders
Esto es lo que obtengo en la consola de Google Chrome. 'a = new Float32Array (10)' devuelve '[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]'. Estoy usando matrices tipadas porque estoy trabajando en WebGL. Son diferentes de la matriz estándar, y dado que es principalmente para WebGL, es un poco esotérico. Debería haber especificado eso. – SharkCop