JavaScript:创建将多个键映射到一个值的映射吗?

PDN

我有一个键列表和一个值。例如:

keys = ["keyA", "keyB", "keyC"];

value = 100;

我正在尝试创建一个函数来创建地图,以便:

map["keyA"]["keyB"]["keyC"] = 100;

根据这里给出的答案,我认为这是最好的数据结构

无论如何,给我带来挑战的部分是我需要一个可以为任意数量的键创建映射的函数。我尝试过循环执行此操作,但由于我不知道如何访问地图的不同级别而无法使其正常工作,但是它也很草率:

for(var i=0; i<keys.length; i++){
    for(var j=0; j<i; j++){
        maps[keys[0]]...[keys[j]] = {};
        if(j+1 === i){
            maps[keys[0]]...[keys[j]][keys[i]] = value;
        }
    }
}

如何创建地图?

耶尔达·库曼加利耶夫(Yeldar Kurmangaliyev)

您可以尝试存储对最后创建的内部对象的引用,并进行更深的循环,以使其在线性时间内:

// Input data:
var keys = ["keyA", "keyB", "keyC", "keyD", "keyE"];
var value = 100;

// Algorithm:
var result = {};
var last = result;

for (var i = 0; i < keys.length - 1; i++)
{
  last = (last[keys[i]] = {});

  // can be change to a two-liner:
  // last[keys[i]] = {};
  // last = last[keys[i]];
}
last[keys[keys.length - 1]] = value;

// Output:
document.body.innerHTML = JSON.stringify(result);
document.body.innerHTML += "<br/><br/>" + result["keyA"]["keyB"]["keyC"]["keyD"]["keyE"];

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

JavaScript:创建将多个键映射到一个值的映射?

来自分类Dev

将字符串映射到向量或将不同的键映射到一个值

来自分类Dev

SQLAlchemy将一个映射的类中的多个外键映射到同一主键

来自分类Dev

创建一个将一个键映射到另一个键的数据结构

来自分类Dev

将一个值映射到多个值的最佳方法

来自分类Dev

Docker可以将多个容器端口映射到一个主机端口吗?

来自分类Dev

我可以使用 Stream 将一个元素映射到多个元素吗?

来自分类Dev

自动将一个源映射到多个目标

来自分类Dev

将多个点击事件映射到一个方法

来自分类Dev

将一个DTO映射到多个实体

来自分类Dev

@SecondaryTables:将一个实体映射到多个表

来自分类Dev

将多个实体映射到一个表

来自分类Dev

将多个键映射到 Java 中的单个值的映射?

来自分类Dev

将多个值映射到一个属性的最佳方法

来自分类Dev

映射一个键pyspark的多个值

来自分类Dev

自动映射器将一个属性映射到多个

来自分类Dev

仅将一个键重新映射到另一个

来自分类Dev

将一个值范围映射到另一个值

来自分类Dev

将一个值映射到列表中的另一个值

来自分类Dev

将一个值范围映射到另一个值

来自分类Dev

将键和值映射到 Javascript 中的新键

来自分类Dev

将TAB键重新映射到另一个键

来自分类Dev

使用推土机可以将多个字段映射到一个字段吗?

来自分类Dev

hive 查询将键映射到多个值

来自分类Dev

实体框架一个外键映射到多个表

来自分类Dev

将值从一个DataFrame映射到另一个

来自分类Dev

将值从一个DataFrame映射到另一个

来自分类Dev

将一个数组的值映射到另一个

来自分类Dev

Windows 8.1-将键盘上的1个键映射到另一个

Related 相关文章

热门标签

归档