【问题标题】:Assigning multiple indices at once from one list [duplicate]从一个列表中一次分配多个索引[重复]
【发布时间】:2017-09-05 17:11:03
【问题描述】:

我有五个不同名称的用户变量。我希望它们最终出现在一个数组中,并且想知道我是否可以在一行中对多个数组索引进行分配。目前,如果我这样做

var users = {user5k, user10k, user15k, user20k, user25k};

我以后不能索引它(说users[0] 未定义)。因此,我希望将索引内置到作业中。大致如下:

var users = {};
users[0:4] = {user5k, user10k, user15k, user20k, user25k};

这在 JavaScript 中似乎不可能,这意味着我必须这样做:

var users = {};
users[0] = user5k;
users[1] = user10;
// ... et cetera

有没有办法完成第一个解决方案?

【问题讨论】:

  • {} 用于对象,[] 用于数组。
  • 是的,当您使用 {} 时,您正在定义一个 object。对于可以索引的数组,请使用[]
  • 如果不清楚,需要var users = [user5k, user10k, user15k, user20k, user25k];
  • 我会回到你的 JS 教程/介绍并仔细重新阅读有关基本数据类型的部分,包括对象和数组。

标签: javascript arrays variable-assignment


【解决方案1】:

当您使用{} 时,您创建的是一个对象,而不是一个数组。对数组使用[]

var users = [user5k, user10k, user15k, user20k, user25k];

如果要替换已经存在的部分数组,可以使用Array.prototype.splice()

var users = [];
users.splice(0, 4, [user5k, user10k, user15k, user20k, user25k]);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-03
    • 2021-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-01
    • 1970-01-01
    相关资源
    最近更新 更多