gpt4 book ai didi

Javascript 三维数组与对象字面量

转载 作者:行者123 更新时间:2023-12-03 06:35:41 25 4
gpt4 key购买 nike

以下两种场景中哪一个表现更好并且对于语言来说感觉更自然:

  1. 使用对象文字:

    var object = {
    'key1': [e1, e2, e3, e4, .., en],
    'key2': [e1, e2, e3, e4, .., en],
    'key3': [e1, e2, e3, e4, .., en],
    ...,
    'keyn': [e1, e2, e3, e4, .., en]
    }
  2. 使用二维数组(在第二维上具有唯一的第一个元素)

    var array = [
    ['key1', [e1, e2, e3, e4, .., en],
    ['key2', [e1, e2, e3, e4, .., en],
    ['key3', [e1, e2, e3, e4, .., en],
    ...,
    ['keyn', [e1, e2, e3, e4, .., en]
    ];

如果数据结构的主要目的是对 key1、key2、key3、..、keyn 进行纯迭代,并对每个 e1、e2、e3、..、en 执行一些操作。

注意:不确定是否相关,但这两个结构在初始化期间并未按原样定义。 object[key] = [e1, ..];array.push([key, [e1, ..]); 在迭代之前在整个系统中使用并需要进行处理。

编辑:在整个应用程序中,我需要访问数组 ([e1, e2, .., en]) 以向其推送更多元素。当然,我需要通过字符串键来完成。

所以我猜它有两个部分,添加元素并迭代它们。

最佳答案

在这种情况下,数组会稍微快一些,但不会达到任何明显的程度,对每个数组进行迭代本质上是相同的。

数组迭代

for(var i in array){//i is the index of the array
keyName = array[i][0];
arrayOfValues = array[i][1];
}

对象迭代

for(var i in object){//i is the keyname
key = i;
arrayOfValues = object[i];
}

但是如果您使用 keyid 来查找并附加到内部数组,我会选择该对象。

通过数组中的keyid查找

var keyId = "key123456";
var arrayOfValues=null;
for(var i in array){
if(array[i][0] == keyId){
arrayOfValues = array[i][1];
break;
}
}

通过对象中的keyid查找

var keyId = "key123456"
var arrayOfValues = object[keyId]

关于Javascript 三维数组与对象字面量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38231037/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com