tl; dr; Même sans mon explication, on peut regarder le code ci-dessous et la sortie et voir quelque chose est louche. Splice renvoie l'index épissé mais les données restent dans le tableau. J'ai donc un objet qui est presque comme un tableau (0,1,2,3 ... etc). Chaque clé d'objet a une valeur de tableau. Le tableau est un tableau d'objets. Voici un objet simplifié qui montre la structure de base, je travaille avec:Épissure Javascript non épissée
obj = {
'1': [{},{},{},{}],
'2': [{},{},{},{}],
'3': [{},{},{},{}]
};
J'ai un code qui a besoin d'épissure sur l'un des indices de tableau (objets) d'un de ces tableaux. C'est le code, avec la consignation de la console autour de tout (que je vais montrer la sortie de ci-dessous).
console.log(indices_to_remove);
for(j = 0; j < indices_to_remove.length; j++) {
console.log("i: " + i)
console.log('j: ' + j)
console.log(this._index);
console.log(this._index[i].splice(indices_to_remove[j], 1));
console.log(this._index);
}
Notez sur le second "console.log (this._index);" l'objet épissé fait toujours partie du tableau original. Je suppose que this._index [2] aurait maintenant un article de moins. En outre, je devrais être épissage index 0, mais il retourne 1.
indexVoici le résultat:
Donc, si quelqu'un a une idée de ce que je pourrais faire mal s'il vous plaît parler!
Merci, Mike
considéré comme JSON? – yoda
JSON est génial, mais je ne peux pas vraiment tout réécrire pour supporter cela maintenant. Ma question est vraiment pourquoi épissure semble fonctionner mal dans ce cas. –
@yoda: Qu'est-ce que JSON a à voir avec ça? –