如何用变量定义一个数组,然后用一个数字填充每个数组
How can I define an array with variables and then populate each with a number?
我有一个数组,其中定义了多个变量。但是当尝试将它们中的每一个设置为 0 时,我收到一个错误,指出数组的第一个变量未定义。
这是我所拥有的:
var keys = [key1, key2, key3, etc...];
function loadKeys(){
for(i=0;i<36;i++) {
keys[i] = 0;
}
}
错误是由于 key1 未定义为变量。 实际上有几种不同的方法可以做到这一点,包括手动设置密钥。
var keys = [0,0,0,0...]
但是,如果您的键具有默认值,则无需键入所有这些内容,则始终可以使用 push 命令初始化数组
var keys = [];
for (int i= 0; i<36;i++){
keys.push({defaultValue});
}
这将使数组中的所有元素都使用默认值定义,而不是未定义的元素
你的代码失败并出现ReferenceError
,因为key1
、key2
等不存在 - JavaScript 运行时不知道你要求什么值。
您的示例实际上并不需要设置这些变量。如果你只需要一个包含 35 个元素的数组,全部设置为 0
,你可以使用:
var keys = [];
for(var i = 0; i < 36; i ++) {
keys.push(0);
}
有关执行此操作的其他方法,请参阅创建零填充 JavaScript 数组的最有效方法?
展望未来,ES6 提供了Array.prototype.fill
:
var keys = new Array(35);
keys.fill(0);
这种方法尚未广泛实现,但您可以在Firefox 31+中尝试。
ES6 兼容性表
var keys = ['key1', 'key2', 'key3'];
function loadKeys(){
for(i=0;i<36;i++) {
keys[i] = 0;
}
}
到目前为止,正在为我工作。不过我不明白你的问题,这些变量在你的数组中吗?
相关文章:
- Javascript(Angular)从一个对象数组到第二个数组查找值
- 根据id将json数组组合为一个json数组
- JavaScript数组包含一个值
- 对一个对象使用reduce可以返回一个没有't在数组中包含目标字母
- jQuery$.inArray()总是返回-1和一个对象数组
- 在数组中的一个元素上设置多个值
- javascript处理一个对象数组以获得一个新的对象数组
- 作为一个二维数组,从ajax接收
- 你能用来自数组的属性名称生成一个对象吗
- 多维关联数组的最后一个索引
- 如何创建一个方法来验证数组的范围
- 循环以检查数组中的最后一个图像
- 在Javascript中将一个值和字符串数组转换为if语句
- 算法:从数组(javascript/angular)中按当前日期获取上一个和下一个事件
- 如何将一个对象添加到每个对象数组中
- 如何创建一个谷歌地图地理坐标数组
- 如何从另一个带下划线的数组中筛选带元素的数组
- 如何在PHP数组中加载下一个youtube
- 查找对象数组是否包含其中一个标记的最快方法
- 如何使用Javascript和Ajax传递一个HTML选择标签到PHP $_POST与一个(数组)var当名称属性是一个