从javascript嵌套数组获取值

从javascript嵌套数组获取值,javascript,arrays,Javascript,Arrays,我是JavaScript编码新手。到目前为止,我知道如何从多数组中设置和获取值,但对于这个数组,我找不到正确的方法 我正在尝试从此数组中获取电子邮件值: __arr.push(['id' ,'12541']); __arr.push(['tag', {"sub":false,"email":"email@email.com"}]); 我试过了 JSON.parse(__ar.tag.email) document.write(__ar[2][2]) 到目前为止,我尝试的每件事都得到了未定义的

我是JavaScript编码新手。到目前为止,我知道如何从多数组中设置和获取值,但对于这个数组,我找不到正确的方法

我正在尝试从此数组中获取电子邮件值:

__arr.push(['id' ,'12541']);
__arr.push(['tag', {"sub":false,"email":"email@email.com"}]);
我试过了

JSON.parse(__ar.tag.email)
document.write(__ar[2][2])
到目前为止,我尝试的每件事都得到了
未定义的
标记[object,object]


获取它的最简单方法是什么?

所以你有一个数组作为_arr,你推的第一个元素是id,它是一个数组,第二个数组是你的电子邮件id

因此,您可以访问如下所示

我希望这能解决你的问题

var\uu arr=[];
__arr.push(['id','12541']);
__arr.push(['tag',{“sub”:false,“email”:”email@email.com"}]);

console.log(“email id=>”,uu arr[1][1].email)
假设您只推送这两个值,您的数组如下所示:

[
  ['id' ,'12541'],
  ['tag', {"sub":false,"email":"email@email.com"}]
]
这意味着,当您使用
\uuu arr.tag.email
访问它时,将导致未定义的错误,因为它是数组而不是对象

因此,您可以做的是,如果您不确切知道索引:

var __arr = [];
__arr.push(['id' ,'12541']);
__arr.push(['tag', {"sub":false,"email":"email@email.com"}]);

for (var i = 0; i < __arr.length; i++){
 if(__arr[i][0] === 'tag'){
   console.log(__arr[i][1].email);
   break;
 }
}
var\uu arr=[];
__arr.push(['id','12541']);
__arr.push(['tag',{“sub”:false,“email”:”email@email.com"}]);
对于(变量i=0;i<\u arr.length;i++){
如果(_arr[i][0]==='tag'){
console.log(uu arr[i][1]。电子邮件);
打破
}
}

电子邮件属性位于数组的第二个元素上(即从零开始的索引数组的索引1)。因此,要访问它,您还需要访问元素的第二个对象(同样是索引1),然后
。电子邮件
就在您的手上:

document.write(__arr[1][1].email);
这是一种动态方式(使用两个嵌套级别的级别)

基本上,我使用了两个嵌套循环并将电子邮件聚合到一个列表中

let[uuuu arr=[]
__arr.push(['id','12541']);
__arr.push(['tag',{“sub”:false,“email”:”email@email.com"}]);
__arr.push(['tag2',{“sub”:false,“email”:”2222@email.com"}]);
常量电子邮件=u arr.reduce((res,items)=>{
items.forEach(elem=>{
如果(要素电子邮件)恢复推送(要素电子邮件)
})
返回res
},[])
控制台日志(电子邮件)

// [ 'email@email.com', '2222@email.com“]
我希望您知道数组是从其基值为0的索引开始的。在您的代码中,索引2中没有这样的元素

document.write(__ar[2][2]) // 
我知道这里给出了很多答案,但我只想告诉你,即使你在“uu arr”中推动值,也就是数组的数组。因此,每个元素都存储在其索引值中

var __arr = [];
__arr.push(['id' ,'12541']);
__arr.push(['tag', {"sub":false,"email":"email@email.com"}]);

console.log(__arr[0]) //return you ["id", "12541"]
console.log(__arr[1]) //return you ["tag", {sub: false, email: "email@email.com"}]

again you can see inside of your "__arr" there is a an array element
console.log(__arr[0][0]) //return you "id"
console.log(__arr[0][1]) //return you "12541"

console.log(__arr[1][0]) //return you "tag"
console.log(__arr[1][1]) //return you {sub: false, email: "email@email.com"}

and here what you want i.e.
console.log(__arr[1][1].sub) //return you false
console.log(__arr[1][1].email) //return you "email@email.com"

访问所有电子邮件的动态方式?@dimmik:正如您所见,您的大部分回帖编辑已被删除。请对
代码的
文本使用
code
勾选
。谢谢!!正是我需要的!