首页 > 解决方案 > 对象函数的困难

问题描述

编写一个名为“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 的键和值。我该如何解决这个问题?

标签: javascript

解决方案


只需使用一个简单的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());


推荐阅读