首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >JavaScript数组/结构

JavaScript数组/结构
EN

Stack Overflow用户
提问于 2010-12-14 01:13:18
回答 9查看 69.8K关注 0票数 22

我想在javascript中创建一个结构。我有两个信息,我想使用,例如:

代码语言: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";

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

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

代码语言:javascript
复制
for(i=1 to length_of_my_array) {
  _tag.array[i].name = array[i].value; 
}

我如何用纯javascript实现这一点呢?谢谢你的任何提示!

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2010-12-14 01:16:17

只要你不想要任何花哨的特性,在JavaScript中创建这样的结构就很容易。实际上,如果您将new Struct()替换为以下代码,您发布的代码几乎可以正常工作:

代码语言:javascript
复制
array[1] = {};

这将创建一个空对象,您可以在其中放置任何您想要的属性,例如namevalue

要创建一个数组,您可以这样做:

代码语言:javascript
复制
var array = []; // empty array

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

并遍历数组:

代码语言:javascript
复制
for (var i = 0; i < array.length; i++) {
  // use array[i] here
}
票数 37
EN

Stack Overflow用户

发布于 2010-12-14 01:36:41

了解有关您试图解决的问题的更多信息将是一件好事。

我不认为JavaScript中有一个叫做Struct的对象,除非你定义了一个。

我想你要找的是一个JavaScript对象,而不是结构。有许多方法可以创建新对象,它们可以嵌套在数组中或其他对象中。

代码语言:javascript
复制
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";

注意,我以几种方式更改了您的代码: 1.将“数组”命名为"myArray“,以澄清我们引用的是一个特定的数组。2. myArray的第一个实例为0。在Javascript中,数组从0开始。3.将Struct改为Object。

代码语言:javascript
复制
myarray = [
    {
        "name":"parameter-name",
        "value":"parameter-value"
    },
    {
        "name":"parameter-name2",
        "value":"parameter-value2"
    }
];

这是做同样事情的另一种语法。它使用“文字表示法”来指定数组(方括号)和对象(花括号)。

代码语言:javascript
复制
for(var i = 0; i < myArray.length; i++) {
    for(key in myArray[i]) {
        alert(key + " :: " myArray[i][key]);
    }
}

这将在数组中循环,并针对对象的每个属性向您发出警告。

代码语言:javascript
复制
alert(myArray[0]['value']) //parameter-value
myArray[0]['value'] = "bar";
alert(myArray[0]['value']) //bar

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

票数 6
EN

Stack Overflow用户

发布于 2010-12-14 01:22:53

您可以在纯JavaScript/json中定义数组和泛型对象:

代码语言:javascript
复制
var array = []; // empty array
array.push({name: 'parameter-name', value: 'parameter-value'});
array.push({name: 'parameter-name2', value: 'parameter-value2'});
console.log(array);
// Output: 
// [Object { name="parameter-name", value="parameter-value2"}, Object { name="parameter-name2", value="parameter-value2"}]

您也可以像这样定义相同的数组:

代码语言:javascript
复制
var array = [
  {name: 'parameter-name', value: 'parameter-value'}, 
  {name: 'parameter-name2', value: 'parameter-value2'}
]; 

就遍历数组而言:

代码语言:javascript
复制
for (var i = 0; i<array.length; i++) {
  var elem = array[i];
  console.log(elem.name, elem.value);
}

// Outputs:
// parameter-name parameter-value2
// parameter-name2 parameter-value2
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4431459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档