J'ai une tâche où j'ai besoin d'échanger les valeurs d'index dans un tableau.
Ceci est le code que j'ai écrit. Je suis un peu nouveau à JS, il peut donc être un peu désactivé. P> console.log code> doit renvoyer
[[0, 1,1], [1,0,1], [0,0,1]] code> p> p>
6 Réponses :
Utilisation de Array.Map () Vous pouvez résoudre ce problème.
Cela peut être la solution possible:
Utiliser ES6, vous pouvez faire quelque chose comme ceci: p>
const swaparray = [0,1,1] .map (index =>! index); p>
résultat: swaparray = [vrai, faux, faux] p>
Ceci est une force brute, vous pouvez le faire probablement avec une carte.
Vous voulez probablement faire quelque chose comme ça -
p>
let arr = [ [1, 0, 0], [0, 1, 0], [1, 1, 0] ]; // swapping 0s to 1 and 1s to 0 // The map will take each inner array and each element of that array and modify according to given condition const swapped_arr = arr.map(inner_array => inner_array.map(el => el ? 0 : 1)); console.log(swapped_arr);
J'ai testé ce code ci-dessous, cela fonctionne.
p>
function swap(arr){ arr.forEach((item,index)=>{arr[index]=+!item}); return arr; } console.log(swap([1,0,0])); console.log(swap([1,1,1])); console.log(swap([1,0,1]));
Essayez ceci:
p>
function swap(arr){ return arr.map(x => x.map(j => Number(!j))); } console.log(swap([[1,0,0],[0,1,0],[1,1,0]]));
Qu'essayez-vous de faire? Vous avez un paramètre de fonction sous forme de tableau 1D et vous passez une matrice 2D
J'ai mis à jour ma réponse, c'est aussi simple que possible.