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 的键和值。我该如何解决这个问题?
解决方案
只需使用一个简单的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());
推荐阅读
- javascript - 如何将 2 个数组组合成 1 个 React
- mongodb - 使用聚合框架过滤 MongoDB 中另一个集合中具有 id 的文档
- python - pyqt5 python:单击同一对话框上的“重试”按钮时如何保持打开的对话框
- vba - 在单个演示文稿中访问多个主题的母版幻灯片
- java - Firebase 注册令牌未显示在 Android Studio logcat 中
- sql - 如何在 ReportBuilder SQL 查询设计器中划分两个变量
- javascript - React:隐藏或删除组件更有效?
- linux - /proc/pid/maps 中带有空标签/路径名的 VMA 是什么
- cookies - 如何从子域设置安全的 HttpOnly cookie
- r - 如何在 R 中使用许多变量有效地运行负二项式回归