Comment changer les 3/4 éléments? La sortie attendue est [1,2,4,3,5]
let list = [1,2,3,4,5];
const removeElement = list.indexOf(3); // remove number 3
list.slice(0, removeElement).concat(list.slice(removeElement+1)) // [1,2,4,5]
... suivant Poussez le numéro 3 après le numéro 4 sans épissure
slice ne mute pas le tableau sur lequel il fonctionne, vous devez donc attribuer une valeur à ce qu'il retourne
let list = [1,2,3,4,5];
const removeElement = list.indexOf(3); // remove number 3
var newList = list.slice(0, removeElement).concat(list.slice(removeElement+1)) // [1,2,4,5]
Si vous êtes prêt à utiliser la syntaxe ES2015, vous pouvez utiliser l'opérateur spread comme suit:
const removeElement = list.indexOf(3); // remove number 3
var es6List = [
...list.slice(0, removeElement),
...list.slice(removeElement+1)
];
console.log(es6List);
La façon la plus simple d'écrire ceci est d'utiliser l'opérateur d'étalement:
let newList = [...list.slice(0, 2), list[4], list[3], ...list.slice(4)];
var list = [1,2,3,4,5];
var numToRemove = 3;
var removeElementIndex = list.indexOf(numToRemove);
var afterRemoveElement = list[removeElementIndex+1];
list.slice(0, removeElementIndex).concat(afterRemoveElement).concat(numToRemove).concat(list.slice(removeElementIndex+2)) // [1,2,4,3,5]
Object.assign fonctionne réellement ici
const newList = Object.assign([], list, {
2: list[3],
3: list[2],
});
list // [1,2,3,4,5]
newList // [1,2,4,3,5]
newList === list // false