用于循环访问元素的二维数组

时间:2018-01-17 18:45:34

标签: javascript arrays

我有一个使用JavaScript技术的Web应用程序,如何在推送

后访问某个元素
var items = [
  [Willy wunka, M, 10, Married]
];

我有一个for循环,用于从firebase中检索数据。这是我的代码:

for(var key in data){
    var name = data[key].revieweeID.firstname.concat(" ",data[key].revieweeID.lastname);
    var sex = data[key].sex;
    var age = data[key].age;
    var status = data[key].status;
    Merged.push({name ,sex ,age ,status });

在这里输入代码     }

如何访问某个元素?例如,如何访问第2行第2列元素?
如果我想更新元素的某一行怎么做呢?

1 个答案:

答案 0 :(得分:1)

我建议您改为使用对象数组:

var items = [
  {
    name: "Willy wunka", 
    sex: "M",
    age: "10",
    status: "Married"
  }
];
  

我有一个for循环,它从firebase中检索数据。 ...如何在数组中初始化和存储元素?

for(var key in data){
  var name = data[key].revieweeID.firstname.concat(" ",data[key].revieweeID.lastname);
  var sex = data[key].sex;
  var age = data[key].age;
  var status = data[key].status;

  items.push({name, sex, age, status});
}

for(var key in data){
  items.push({
    name: data[key].revieweeID.firstname.concat(" ",data[key].revieweeID.lastname),
    sex: data[key].sex,
    age: data[key].age,
    status: data[key].status
  })
}
  

如何在按

后访问某个元素

  

我如何访问元素?例如,第2列第2行的元素?

您不再拥有专栏2。你有一个专栏age。这样做的好处是,它更容易推理,甚至/尤其是如果您扩展此代码。

var person = items[2];
console.log(person, person.sex, person.age, person.name);

//since ES6 you can also do 
var {name, sex, age, status} = items[2];
console.log(name, sex, age, status);
  

如果我想更新数组第1行怎么办?我该怎么做?

我取决于你的意思/想要

你可以去改变特定物体的属性。

person.status = "Single";

或者您可以使用新的人/对象覆盖列表中的索引

items[0] = {
  name: "John Doe",
  sex: "M",
  age: 99,
  status: "unknown"
};

但是你应该去学习一些关于objectsreferences的基础知识,而不是primitive values