14

如果它的类型是这样的,我如何将数据推送到 js 中的数组中...... 起初我想推送标签数据,然后推送值....我从 xml 文件中获取数据。如果我只有一个简单的数组,我会使用简单的 variable.push sintax。将 variable[][0].push 或 variable[][1].push 工作

4

3 回答 3

16

也许你会更好地使用一个对象,

所以你可以做

var d  = {
"Label" : "Value"
};

并增加你可以的价值

d.label = "value";

如果您的数组变大,这可能是一种更结构化的方法并且更容易理解。而且,如果您构建的 JSON 有效,则很容易创建一个字符串并将其重新解析。

var stringD = JSON.stringify(d); var parseD = JSON.parse(stringD);

更新 - 二维数组

这就是你可以声明它的方式

var items = [[1,2],[3,4],[5,6]];

alert(items[0][0]);

警报正在从中读取,

要向其中添加内容,您会说items[0][0] = "Label" ; items[0][1] = "Value";

如果你想做所有的标签,那么所有的值都会......

for(var i = 0 ; i < labelssize; i ++)
{
  items[i][0] = labelhere;
}


for(var i = 0 ; i < labelssize; i ++)
{
  items[i][1] = valuehere;
}
于 2012-08-02T08:02:08.403 回答
13

你可以这样做:

var d = [];
d.push([label, value]);
于 2012-08-02T07:54:45.913 回答
4

您需要的是一组对象。

想象一下这个示例 XML:

<?xml version="1.0"?>
<catalog>
   <book id="bk101">
      <author>Gambardella, Matthew</author>
      <title>XML Developer's Guide</title>
      <genre>Computer</genre>
   </book>
   <book id="bk102">
      <author>Ralls, Kim</author>
      <title>Midnight Rain</title>
      <genre>Fantasy</genre>
   </book>
</catalog>

您的数据结构可能是:

var catalog = array(
  { 
    'id': 'bk101',
    'author': 'Gambardella, Matthew',
    'title': 'XML Developer\'s Guide',
    'genre': 'Computer'
  },
  {
    'id': 'bk102',
    'author': 'Ralls, Kim',
    'title': 'Midnight Rain',
    'genre': 'fantasy'
  }
);

然后,您可以像访问数组一样访问数据。示例操作:

读取值:

var genre = catalog[0]['genre'];

添加新属性:

catalog[1]['price'] = '15.50';

列出所有标题:

for (var i=0; i<catalog.length; i++) {
  console.log(catalog[i]['title'];
}
于 2012-08-02T08:34:49.763 回答