编写一个接受这样的对象的函数,例如{1:4:2:10,5:3},然后返回该对象中描述的所有数字的列表。每个键值对描述一个数字以及该数字应在数组中出现多少次。
示例:{3:10,5:2}
[3,3,3,3,3,3,3,3,3,3,5,5,5]
还要考虑代码中可以传递的空,空,未定义和非对象
在这种情况下,只需返回[],则为空列表
这就是我能够产生的东西。我知道我必须进行第二次循环,但是我不明白如何使数字出现在数组中所描述的次数。这是我的进度:
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);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句