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?

1voto

JohnP2 Punkte 1711

Hier ist die grundlegende Antwort in Form einer wiederverwendbaren Funktion:

function arrayFindReplace(array, findValue, replaceValue){
    while(array.indexOf(findValue) !== -1){
        let index = array.indexOf(findValue);
        array[index] = replaceValue;
    }
}

1voto

Raj Shah Punkte 480
const items = Array(1, 2, 3, 4, 5);
console.log(items)

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

0voto

Vladimir Prudnikov Punkte 6360

Der einfachste Weg ist dieser.

var items = Array(523,3452,334,31, 5346);
var replaceWhat = 3452, replaceWith = 1010;
if ( ( i = items.indexOf(replaceWhat) ) >=0 ) items.splice(i, 1, replaceWith);

console.log(items);
>>> (5) [523, 1010, 334, 31, 5346]

0voto

mahendren Punkte 1026
presentPrompt(id,productqty) {
    let alert = this.forgotCtrl.create({
      title: 'Test',
      inputs: [
        {
          name: 'pickqty',
          placeholder: 'pick quantity'
        },
        {
          name: 'state',
          value: 'verified',
          disabled:true,
          placeholder: 'state',

        }
      ],
      buttons: [
        {
          text: 'Ok',
          role: 'cancel',
          handler: data => {

            console.log('dataaaaname',data.pickqty);
            console.log('dataaaapwd',data.state);

          for (var i = 0; i < this.cottonLists.length; i++){

            if (this.cottonLists[i].id == id){
                this.cottonLists[i].real_stock = data.pickqty;

            }
          }

          for (var i = 0; i < this.cottonLists.length; i++){

            if (this.cottonLists[i].id == id){
              this.cottonLists[i].state = 'verified';   

          }
        }
            //Log object to console again.
            console.log("After update: ", this.cottonLists)
            console.log('Ok clicked');
          }
        },

      ]
    });
    alert.present();
  }

As per your requirement you can change fields and array names.
thats all. Enjoy your coding.

0voto

J. Svec Punkte 1

Ich löste dieses Problem mit for-Schleifen und Iteration durch das ursprüngliche Array und das Hinzufügen der Positionen der übereinstimmenden Arreas zu einem anderen Array und dann Schleife durch dieses Array und ändern es in das ursprüngliche Array dann zurückgeben, ich verwendet und Pfeil-Funktion, aber eine regelmäßige Funktion würde auch funktionieren.

var replace = (arr, replaceThis, WithThis) => {
    if (!Array.isArray(arr)) throw new RangeError("Error");
    var itemSpots = [];
    for (var i = 0; i < arr.length; i++) {
        if (arr[i] == replaceThis) itemSpots.push(i);
    }

    for (var i = 0; i < itemSpots.length; i++) {
        arr[itemSpots[i]] = WithThis;
    }

    return arr;
};

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