0
votes

Y a-t-il un moyen simple d'échanger 0 et 1 dans un tableau

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é. xxx

console.log doit renvoyer [[0, 1,1], [1,0,1], [0,0,1]]


2 commentaires

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.


6 Réponses :


-1
votes

Utilisation de Array.Map () Vous pouvez résoudre ce problème. Cela peut être la solution possible: xxx


0 commentaires

0
votes

Utiliser ES6, vous pouvez faire quelque chose comme ceci:

const swaparray = [0,1,1] .map (index =>! index);

résultat: swaparray = [vrai, faux, faux]


0 commentaires

0
votes

Ceci est une force brute, vous pouvez le faire probablement avec une carte. XXX


0 commentaires

0
votes

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);


0 commentaires

0
votes

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]));


0 commentaires

0
votes

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]]));


0 commentaires