Lo que hago en php:

$arr = [1=>'a', 3=>'b', 2017=>'zzzzZZZZ'];

Lo que sé en js:

var arr = [];
arr[1] = 'a';
arr[3] = 'b';
arr[2017] = 'zzzzZZZZ';
1
bijiDango 5 ene. 2017 a las 09:06
¿No estás seguro de cuál es tu pregunta?
 – 
Yang Yu
5 ene. 2017 a las 09:09

1 respuesta

La mejor respuesta

Su código haría una matriz de longitud 2018 ya que el índice de matriz más grande definido es 2017 y los elementos indefinidos restantes se tratan como undefined.

var arr = [];
arr[1] = 'a';
arr[3] = 'b';
arr[2017] = 'zzzzZZZZ';

console.log(arr.length, arr);

Objeto
var obj = {
    1 : 'a',
    3 : 'b',
    2017 : 'zzzzZZZZ'
}
var obj = {
  1: 'a',
  3: 'b',
  2017: 'zzzzZZZZ'
}

console.log(obj);

Consulte: matriz asociada de javascript

1
Community 23 may. 2017 a las 14:46
Supongo que también deberías incluir por qué .
 – 
Rajesh
5 ene. 2017 a las 09:08
Es muy extraño que no pueda usar obj.1 para obtener el valor, pero obj[1] o obj['1']. Parece que el objeto JS almacena datos como una matriz, y la forma más básica de obtener datos también es una matriz. Mientras tanto, la matriz actúa como un objeto restringido.
 – 
bijiDango
5 ene. 2017 a las 09:31
: eso se debe a que el nombre de la propiedad comienza con un nombre, por lo que no puede usar la notación de puntos ... verifique los documentos: developer.mozilla.org/en/docs/Web/JavaScript/Reference/…
 – 
Pranav C Balan
5 ene. 2017 a las 09:32