Quiero recorrer una enumeración para obtener todos los valores. Si tengo
export enum Colours{ green, red, blue, brown, purple, black, orange, pink, yellow }y lo que quiero hacer es
array.foreach(item => { item.colour = Colours.value });Entonces, el primero de la matriz sería verde. Etc., etc. A menos que haya una mejor manera de hacer esto?
Puede usar un bucle for para obtener el índice de su array y establecer la propiedad del objeto en ese índice en la enumeración con el mismo índice
enum Colours{ green, red, blue, brown, purple, black, orange, pink, yellow } const someArray = [{name: "someThing", color: "someDefaultValue"}] for (let i =0; i < someArray.length; i++) { someArray[i].color = Colours[i] }aquí hay un ejemplo de patio de recreo
solo estoy mejorando la respuesta de @lockednlevered.
Si hay más entradas en la matriz que colores, este código se reinicia desde el primer color y así sucesivamente.
enum Colours{ green, red, blue } const enumSize = Object.keys(Colours).length / 2; const someArray = [{name: "someThing", color: "someDefaultValue"}, {name: "someThing", color: "someDefaultValue"}, {name: "someThing", color: "someDefaultValue"}, {name: "someThing", color: "someDefaultValue"}, {name: "someThing", color: "someDefaultValue"}, {name: "someThing", color: "someDefaultValue"}] for (let i =0; i < someArray.length; i++) { someArray[i].color = Colours[i%enumSize] } console.log(someArray)¿Puedes preguntar cómo encontré la manera de obtener la longitud de emun? sobre esta pregunta