Estou tentando substituir várias palavras em uma string por várias outras palavras. A sequência é "Eu tenho um gato, um cachorro e uma cabra".
No entanto, isso não produz "Eu tenho um cachorro, uma cabra e um gato", mas produz "Eu tenho um gato, um gato e um gato". É possível substituir várias seqüências de caracteres por várias outras ao mesmo tempo em JavaScript, para que o resultado correto seja produzido?
var str = "I have a cat, a dog, and a goat.";
str = str.replace(/cat/gi, "dog");
str = str.replace(/dog/gi, "goat");
str = str.replace(/goat/gi, "cat");
//this produces "I have a cat, a cat, and a cat"
//but I wanted to produce the string "I have a dog, a goat, and a cat".