编写一个函数,它接受像{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.
}
}
答案 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);