JavaScript Array/Struct

da_*_*idi 20 javascript arrays struct

我想在javascript中创建一个结构.我有一对信息,我想用,例如:

array[1] = new Struct();
array[1].name = "parameter-name";
array[1].value = "parameter-value";

array[2] = new Struct();
array[2].name = "parameter-name2";
array[2].value = "parameter-value2";
Run Code Online (Sandbox Code Playgroud)

这可以在具有不同值的不同页面上,也许在我的数组中的元素上,可能是2-20 ..

后来,在我的通用JavaScript中,我想解析数组并继续我的参数,例如:

for(i=1 to length_of_my_array) {
  _tag.array[i].name = array[i].value; 
}
Run Code Online (Sandbox Code Playgroud)

如何用纯JavaScript实现这一点?谢谢你的提示!

cas*_*nca 33

只要你不想要任何花哨的功能,在JavaScript中创建这样的结构真的很容易.事实上,如果你用以下代码替换你发布的代码几乎可以工作new Struct():

array[1] = {};
Run Code Online (Sandbox Code Playgroud)

这会创建一个空对象,您可以在其中放置所需的任何属性,例如namevalue.

要创建数组,您可以执行以下操作:

var array = []; // empty array

// object literal notation to create your structures
array.push({ name: 'abc', value: 'def' });
array.push({ name: 'ghi', value: 'jkl' });
...
Run Code Online (Sandbox Code Playgroud)

并迭代数组:

for (var i = 0; i < array.length; i++) {
  // use array[i] here
}
Run Code Online (Sandbox Code Playgroud)


Ado*_*eau 6

最好找出有关您试图解决的问题的更多信息.

我不认为JavaScript中有一个名为Struct的对象,除非你定义一个.

我认为你要找的是JavaScript对象而不是Struct.有许多方法可以创建新对象,它们可以嵌套在数组或其他对象中.

myArray[0] = new Object();
myArray[0].name = "parameter-name";
myArray[0].value = "parameter-value";

myArray[1] = new Object();
myArray[1].name = "parameter-name2";
myArray[1].value = "parameter-value2";
Run Code Online (Sandbox Code Playgroud)

请注意,我已经通过几种方式更改了您的代码:1."array"被命名为"myArray",以阐明我们指的是特定的数组.2. myArray的第一个实例是0.在Javascript中,数组从0开始.3. Struct更改为Object.

myarray = [
    {
        "name":"parameter-name",
        "value":"parameter-value"
    },
    {
        "name":"parameter-name2",
        "value":"parameter-value2"
    }
];
Run Code Online (Sandbox Code Playgroud)

这是执行相同操作的替代语法.它使用"文字符号"来指定数组(方括号)和对象(大括号).

for(var i = 0; i < myArray.length; i++) {
    for(key in myArray[i]) {
        alert(key + " :: " myArray[i][key]);
    }
}
Run Code Online (Sandbox Code Playgroud)

这将遍历数组并提醒您对象的每个属性.

alert(myArray[0]['value']) //parameter-value
myArray[0]['value'] = "bar";
alert(myArray[0]['value']) //bar
Run Code Online (Sandbox Code Playgroud)

还可以为每个对象的每个属性分配一个新值.