Javascript:接收对象的函数,返回对象

时间:2016-04-16 16:18:08

标签: javascript arrays object keyvaluepair

编写一个函数,它接受像{1:4,2:10,5:3}这样的对象,然后返回对象中描述的所有数字的列表。每个键值对都描述一个数字以及它在阵列中应出现的次数。

实施例: {3:10,5:2}

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

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

在这些情况下,只返回[],空列表

这是我能够制作的。我知道我必须做第二次循环,但我不明白如何使数字出现在数组中所描述的次数。这是我的进步:

    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.
       }
    }

1 个答案:

答案 0 :(得分:0)

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);