Javascript:接受对象的函数,以及returns对象中描述的所有数字的列表

Javascript: function which takes in object, and returns list of all numbers described in object

编写一个函数,接收这样的对象 {1: 4, 2: 10, 5:3},然后 return 对象中描述的所有数字的列表。每个键值对描述一个数字及其在数组中出现的次数。

示例: {3:10,5:2}

[3,3,3,3,3,3,3,3,3,3,5,5]

还要考虑代码中可以传入的空、空、未定义和非对象

在那些情况下只是 return[],空列表

这是我能够制作的内容。我知道我必须做第二个循环,但我不明白如何让数字按照描述的次数出现在数组中。这是我的进度:

    var numObj = {1:4, 2:10, 3:5};

    function numDescribed(numObj) {
       var numOfNums = [];
       for (var x in numObj) {
          numOfNums.push(numObj[x]); //this produces an array of [4, 10, 5]
       } for (var i = 0; i < numOfNums.length; i++) {
        numOfNums.
       }
    }

var obj = { 3: 10, 5: 2 };

var res = [];

Object.keys(obj).forEach(function(e) {
    for (var i = 0; i < obj[e]; i++) {
        res.push(e);
    }
});

document.write(res);