603 Stimmen

Wie kann man ein Element in einem Array ersetzen?

Jedes Element dieses Arrays ist eine Zahl:

var items = Array(523,3452,334,31, ...5346);

Wie kann man einen Gegenstand durch einen neuen ersetzen?

Wir wollen zum Beispiel Folgendes ersetzen 3452 con 1010 Wie würden wir das tun?

3voto

Marco Silva Punkte 542

Wenn Sie einen einfachen Zucker-Sintax-Oneliner wollen, können Sie einfach:

(elements = elements.filter(element => element.id !== updatedElement.id)).push(updatedElement);

Wie:

let elements = [ { id: 1, name: 'element one' }, { id: 2, name: 'element two'} ];
const updatedElement = { id: 1, name: 'updated element one' };

Wenn Sie keine id haben, können Sie das Element wie folgt stringifizieren:

(elements = elements.filter(element => JSON.stringify(element) !== JSON.stringify(updatedElement))).push(updatedElement);

2voto

WhooNo Punkte 675
 items[items.indexOf(3452)] = 1010

ideal für einfache Tauschgeschäfte. Probieren Sie den folgenden Ausschnitt aus

const items = Array(523, 3452, 334, 31, 5346);
console.log(items)

items[items.indexOf(3452)] = 1010
console.log(items)

2voto

Gunjan Kumar Punkte 127
var index = Array.indexOf(Array value);
        if (index > -1) {
          Array.splice(index, 1);
        }

Von hier aus können Sie einen bestimmten Wert aus dem Array löschen, der auf demselben Index basiert können Sie einen Wert in das Array einfügen.

 Array.splice(index, 0, Array value);

2voto

faye.babacar78 Punkte 574

Nun, wenn jemand interessiert ist, wie man ein Objekt von seinem Index in einem Array zu ersetzen, hier ist eine Lösung.

Suche nach dem Index des Objekts anhand seiner ID:

const index = items.map(item => item.id).indexOf(objectId)

Ersetzen Sie das Objekt mit der Methode Object.assign():

Object.assign(items[index], newValue)

1voto

Alex Cory Punkte 8650

Hier ist ein Einzeiler. Es wird davon ausgegangen, dass sich das Element im Array befindet.

var items = [523, 3452, 334, 31, 5346]
var replace = (arr, oldVal, newVal) => (arr[arr.indexOf(oldVal)] = newVal, arr)
console.log(replace(items, 3452, 1010))

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X