对象功能难

时间:2018-10-10 17:27:18

标签: javascript

编写一个不带任何参数的名为“ indexed_kvs”的函数,并返回一个新的键值存储,其中包含从0到47的整数,每个值存储在一个键中,该键是一个包含整数数字的字符串。例如,键值“ 0”:0将位于返回的键值存储中(列表中同时包含0和47)(下面的我的代码)

function indexed_kvs(){
    var d = (dict = []);
    for (var i of Array(47).keys()) {
        d = dict.push(i);
    }
    return d;
}

我继续返回输入47,而不是返回键和值(介于0到47之间)。如何解决此问题?

2 个答案:

答案 0 :(得分:1)

只需使用简单的while循环并从头开始进行迭代,或使用for循环。

function indexed_kvs() {
    var object = {},
        i = 48;

    while (i--) object[i] = i;
    return object;
}

console.log(indexed_kvs());

一种较短的方法,先生成一个数组,然后创建该数组的对象。

function indexed_kvs() {
    return Object.assign({}, [...Array(48).keys()]);
}

console.log(indexed_kvs());

答案 1 :(得分:0)

这应该对您有用。

function makeKeys() {
    var d = {};
    for (var i = 0; i < 48; i++) {
      d[i] = i;
    }
    return d;
}

console.log(makeKeys())