How to produce an array from an object where the number of elements is determined by Object.values?

后端 未结 7 571
感情败类
感情败类 2020-12-22 05:15

I have an object like so:

{ green: 2, blue: 1, red: 2}

How can I turn it into an array that looks like this:

[ \'green\', \         


        
7条回答
  •  清歌不尽
    2020-12-22 05:18

    Using map and flat if you don't want to use flatMap directly

    const obj = { 
       green: 2, 
       blue: 1, 
       red: 2
    };
    
    const responseArray = Object.entries(obj)
        .map(([key,value]) => {
            return Array(value).fill(key)
    }).flat();
    
    console.log(responseArray);
    //  ["green", "green", "blue", "red", "red"]
    

提交回复
热议问题