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?
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?
Beste Möglichkeit, in nur einer Zeile ein Element eines Arrays zu ersetzen oder zu aktualisieren
array.splice(array.indexOf(valueToReplace), 1, newValue)
Beispiel:
let items = ['JS', 'PHP', 'RUBY'];
let replacedItem = items.splice(items.indexOf('RUBY'), 1, 'PYTHON')
console.log(replacedItem) //['RUBY']
console.log(items) //['JS', 'PHP', 'PYTHON']
Eine andere einfache Möglichkeit, den gleichen Vorgang auszuführen, ist :
items[items.indexOf(oldValue)] = newValue
Wenn Sie ein komplexes Objekt (oder sogar ein einfaches) verwenden, können Sie es6 verwenden, Array.prototype.findIndex
ist ein gutes Beispiel. Für die OP's Array, könnten sie tun,
const index = items.findIndex(x => x === 3452)
items[index] = 1010
Bei komplexeren Objekten kommt dies besonders gut zur Geltung. Zum Beispiel,
const index =
items.findIndex(
x => x.jerseyNumber === 9 && x.school === 'Ohio State'
)
items[index].lastName = 'Utah'
items[index].firstName = 'Johnny'
ES6 Weise:
const items = Array(523, 3452, 334, 31, ...5346);
Wir wollen ersetzen 3452
con 1010
, Lösung:
const newItems = items.map(item => item === 3452 ? 1010 : item);
Sicherlich ist die Frage schon viele Jahre alt, und im Moment ziehe ich es vor, einfach die unveränderlich Lösung ist auf jeden Fall großartig für ReactJS
.
Für die häufige Nutzung biete ich folgende Funktion an:
const itemReplacer = (array, oldItem, newItem) =>
array.map(item => item === oldItem ? newItem : item);
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.