访问数据中的值

Access value in data

本文关键字:数据 访问      更新时间:2023-09-26

在 JavaScript 中有一些问题要问。

我有一个数据结构。像这样的事情:

var Data = 
{
    head:    ["ID", "Name", "Age"],
    rows: [
             ["0", "Bob", "23"],
             ["1", "Sam", "24"],
             ["2", "Tom", "25"]
             // and so on
          ]
}

我有一个处理这些数据的函数。此函数必须处理语句for..in行字段。

$scope.someDate = $filter('filter')($scope.data.rows, function (item) {
  for(var val in item) {
     // some logic...
   }
   // some logic...
});

问题如下。在 FOR 循环中,它没有给我 3 个属性(根据数据格式),而是给了我 4 个。第四个属性是哈希键。我因此而遇到问题。有没有人知道如何修复、修改或绕过它?

在您的情况下,rows 是一个数组数组。行的每个元素(它是一个数组)都将传递给item 。现在,item 是一个数组。根据这个例子,

var Data = 
{
    head:    ["ID", "Name", "Age"],
    rows: [
             ["0", "Bob", "23"],
             ["1", "Sam", "24"],
             ["2", "Tom", "25"]
             // and so on
          ]
};
Data.rows.forEach(function(item) {
    console.log(item);
})

将打印

[ '0', 'Bob', '23' ]
[ '1', 'Sam', '24' ]
[ '2', 'Tom', '25' ]

现在,如果我们必须处理这个item数组的每个元素,我们必须遍历它。

Data.rows.forEach(function(item) {
    for (var i = 0, len = item.length; i < len; i += 1) {
        console.log(item[i]);
    }
})

现在,这将打印

0
Bob
23
1
Sam
24
2
Tom
25

注意:不要使用 for..in 迭代数组。请阅读此答案以获取详细说明 https://stackoverflow.com/a/500531/1903116