gpt4 book ai didi

javascript动态填充关联数组并获取值

转载 作者:可可西里 更新时间:2023-11-01 02:31:14 25 4
gpt4 key购买 nike

我想基于一个数组构建一个关联数组,然后获取该关联数组的值。关联数组的结构如下:

        var myAssociativeArr = new Array();

myAssociativeArr = [
{ id:'1',
lname:'doe',
fname:'john'
},
{ id:'2',
lname:'smith',
fname:'john'
}

]

我有三个长度相同的数组,我将从中构建这个关联数组,即 id、lname 和 fname 数组。

    for(var i=0; idArray.length;i++)
{
myAssociativeArr [id]=idArray[i];
myAssociativeArr [lname]=lnameArray[i];
myAssociativeArr [fname]=fnameArray[i];
}

请告诉我上面的方法是否正确,如果不正确,我该如何构建这个数组,以及如何通过循环获取这个数组的值。

我们将不胜感激。

最佳答案

你们很亲近。首先,如果你想使用数组下标表示法,你必须自己传递键(在你的例子中是字符串,像这样):

var myAssociativeArr = [];
for (var i=0; i < idArray.length; i++) {
var newElement = {};
newElement['id'] = idArray[i];
newElement['lname'] = lnameArray[i];
newElement['fname'] = fnameArray[i];
myAssociativeArr.push(newElement);
}

如果键名是已知字符串,通常最好使用完全等价的对象属性表示法:

var myAssociativeArr = [];
for (var i=0; i < idArray.length; i++) {
var newElement = {};
newElement.id = idArray[i];
newElement.lname = lnameArray[i];
newElement.fname = fnameArray[i];
myAssociativeArr.push(newElement);
}

通过使用对象字面量,您可以更加简洁,就像您在示例输出中所做的那样:

var myAssociativeArr = [];
for (var i=0; i < idArray.length; i++) {
myAssociativeArr.push({
id: idArray[i],
lname: lnameArray[i],
fname: fnameArray[i]
});
}

编辑:固定循环索引不是无限的。

读取元素的方式与写入元素的方式相同:myAssociativeArr[i]['id']等,或 myAssociativeArr[i].id等等

对于按 ID 查找,最好为此构造一个对象。

var myObject = {};
for (var i=0; i < idArray.length; i++) {
myObject[idArray[i]] = {
id: idArray[i],
lname: lnameArray[i],
fname: fnameArray[i]
};
}

查找:

myObject['2'] // => { id: '2', ... }

关于javascript动态填充关联数组并获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6886858/

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