[1, 2, 3].indexOf(3) => 2
[1, 2, NaN].indexOf(NaN) => -1
[1, NaN, 3].indexOf(NaN) => -1
Respuesta
puede utilizar Array.prototype.findIndex método para averiguar el índice de NaN en una matriz
let arr = [1,3,4,NaN,3]
let index = arr.findIndex(elem=>isNaN(elem))
console.log(index)
No se puede utilizar para encontrar Array.Prototype.indexOf índice de NaN dentro de un array.Because indexOf utiliza strict-equality-operator interna y NaN === NaN
evalúa a false
.So indexOf no será capaz de detectar NaN dentro de una matriz
NaN se define como no igual a nada (ni siquiera a sí mismo). Ver aquí: http://www.w3schools.com/jsref/jsref_isNaN.asp
Rechazará y aceptará cuando se acabe el tiempo. Eso es solo retardado. – mcandre
Explique eso al IEEE; es su estándar de coma flotante que define 'NaN' para que no sea igual a nada. (Dicho esto, piénselo como 'NULL' en RDBMSes). – geekosaur
-1 también se usa como un valor de error. ¿Tendría algún sentido para -1! = -1? – mcandre
Tienes que mirar a cada elemento para devolver una matriz de los índices que son NaN valores-
function findNaNs(arr){
return arr.map(function(itm, i){
if(isNaN(itm)) return i;
return false;
}).filter(function(itm){
return itm;
});
}
findNaNs ([1, NaN, 3, 4, 'gato'/3])
// o para encontrar la primera uno
function firstNaN(arr){
var i= 0, L= arr.length;
while(i<L){
if(isNaN(arr[i])) return i;
++i;
}
return -1;
}
Gracias, Kennebec. No es difícil codificar este problema, solo inconveniente. – mcandre
Nunca use 'isNaN', está roto. Implica coactivamente el tipo de valor. Obtienes 'true' para' isNaN (undefined) ',' isNaN ({}) '(pero no' isNaN ([]) '), etc. Usa la comparación consigo misma en su lugar:' x! == x' ('NaN 'es el único valor que no es igual a uno mismo). –
La primera rutina no puede encontrar NaN si es el primer elemento. – ziyuang
- 1. Buscar el índice de un valor en una matriz
- 2. Buscar matriz multidimensional JavaScript
- 3. Buscar la clave/índice más alto en una matriz
- 4. Eliminar valores nan de una matriz
- 5. ¿Cómo buscar a través de una matriz en Javascript?
- 6. buscar una matriz bidimensional en java
- 7. variable como índice en una matriz asociativa - Javascript
- 8. ¿Cómo puedo buscar una matriz en VB.NET?
- 9. jquery buscar por índice en una lista
- 10. ¿Hay un indexOf en javascript para buscar una matriz con la función de comparación personalizada
- 11. encontrar valores NaN es matriz de células
- 12. Javascript indexOf en una matriz de objetos
- 13. Buscar el índice de una entrada de lista en R
- 14. Obtener el índice del objeto en la matriz para buscar el objeto correspondiente en otra matriz
- 15. Cómo buscar una cadena en una matriz
- 16. Buscar índice con unir
- 17. Buscar una clave en una matriz, recursivamente
- 18. ¿Cómo obtener el índice de un elemento en una matriz?
- 19. índice del elemento en una matriz multidimensional
- 20. Buscar cadena más común en una matriz
- 21. Buscar elementos N superiores en una matriz
- 22. ¿Cómo buscar una matriz en Ruby?
- 23. Algoritmo para buscar duplicados en una matriz
- 24. ¿Existe una mejor manera de buscar una matriz de JavaScript que utilizar jQuery cada uno?
- 25. ¿Cómo buscar eficientemente en una matriz ordenada?
- 26. sustituir valores en una matriz
- 27. ¿NaN es igual a NaN?
- 28. En Javascript, cómo evitar NaN al agregar matrices
- 29. ¿Cómo buscar en una matriz BYTE para un patrón?
- 30. Ocultar barra de índice al buscar UITableView
Puede usar ['Array.prototype.includes'] (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/includes) si solo quieres saber ** si una matriz incluye un 'NaN' **:' [NaN] .includes (NaN)/* true */'. –