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

后端 未结 7 570
感情败类
感情败类 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:34

    Could be done like this:

    Object.entries(obj).flatMap(([k, v]) => Array(v).fill(k));
    

    Example:

    const obj = { green: 2, blue: 1, red: 2};
    const res = Object.entries(obj).flatMap(([k, v]) => Array(v).fill(k));
    console.log(res);

提交回复
热议问题