vacio una recorrer objetos matriz matrices hacer elementos dimensiones declarar como bidimensional array agregar 10x10 javascript arrays multidimensional-array numeric

recorrer - Buscando un índice numérico en una matriz de javascript



matriz javascript (3)

Estoy recibiendo datos json que se agregan mediante índices numéricos.

Cuando estoy en mi forloop, por ejemplo, el índice puede comenzar en 1, lo que significa que en mi forloop se producirá un error porque 0 no existe.

¿Cómo verifico si existe un índice numérico en la matriz javascript?


Debes poder usar for(key in data)

var data = []; data[1] = ''a''; data[3] = ''b''; for(var index in data) { console.log(index+":"+data[index]); } //Output: // 1-a // 3-b

Que se repite en cada elemento clave en los datos si los índices no son contiguos.


Si lo que realmente estás describiendo es un Object lugar de un Array , pero es como el hecho de que tiene propiedades que son de uint32_t pero que no tienen una propiedad de length esencial presente. Entonces podrías convertirlo en una matriz real como esta. Compatibilidad del navegador: esto requiere soporte de hasOwnProperty

Javascript

function toArray(arrayLike) { var array = [], i; for (i in arrayLike) { if (Object.prototype.hasOwnProperty.call(arrayLike, i) && i >= 0 && i <= 4294967295 && parseInt(i) === +i) { array[i] = arrayLike[i]; } } return array; } var object = { 1: "a", 30: "b", 50: "c", }, array = toArray(object); console.log(array);

Salida

[1: "a", 30: "b", 50: "c" ] `

En jsfiddle

Ok, ahora tienes una matriz escasamente poblada y quieres usar un bucle for para hacer algo.

Javascript

var array = [], length, i; array[1] = "a"; array[30] = "b"; array[50] = "c"; length = array.length; for (i = 0; i < length; i += 1) { if (Object.prototype.hasOwnProperty.call(array, i)) { console.log(i, array[i]); } }

Salida

1 "a" 30 "b" 50 "c"

En jsfiddle

Alternativamente, puede usar Array.prototyp.forEach si su navegador lo admite, o la plantilla disponible como se indica en la página de MDN que es5_shim , o es5_shim

Javascript

var array = []; array[1] = "a"; array[30] = "b"; array[50] = "c"; array.forEach(function (element, index) { console.log(index, element); });

Salida

1 "a" 30 "b" 50 "c"

En jsfiddle


var a = [1, 2, 3], index = 2; if ( a[index] !== void 0 ) { /* void 0 === undefined */ /* See concern about ``undefined'''' below. */ /* index doesn''t point to an undefined item. */ }