Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 学习JS-当一对键/值本身是另一对的值时,如何从一对键/值中检索一个值,所有这些都在一个数组中?_Javascript_Arrays_Key Value - Fatal编程技术网

Javascript 学习JS-当一对键/值本身是另一对的值时,如何从一对键/值中检索一个值,所有这些都在一个数组中?

Javascript 学习JS-当一对键/值本身是另一对的值时,如何从一对键/值中检索一个值,所有这些都在一个数组中?,javascript,arrays,key-value,Javascript,Arrays,Key Value,好的,我正在学习JS,我碰到了一堵墙。如果我用错误的术语来描述这些,我很抱歉,但是 在下面的代码中,我需要检查“人员”数组中的“位置”(此处位置是否被视为键?)-检索“状态”的值(键/值作为键的值???)-并检查它是否是某个“状态”。我必须为“人物”数组中的每个人检查此项 我知道如何检查“state”的值是否是我所需要的值(一旦我真的可以得到该值),但我似乎无法深入了解它。我知道我需要一个循环,从“位置”和“人”中提取“状态”的值,但我不知道如何开始编写 const people=[{ 地点:

好的,我正在学习JS,我碰到了一堵墙。如果我用错误的术语来描述这些,我很抱歉,但是

在下面的代码中,我需要检查“人员”数组中的“位置”(此处位置是否被视为键?)-检索“状态”的值(键/值作为键的值???)-并检查它是否是某个“状态”。我必须为“人物”数组中的每个人检查此项

我知道如何检查“state”的值是否是我所需要的值(一旦我真的可以得到该值),但我似乎无法深入了解它。我知道我需要一个循环,从“位置”和“人”中提取“状态”的值,但我不知道如何开始编写

const people=[{
地点:{
街道:“B街”,
州:“新罕布什尔州”,
国家:'美国',
城市:“新道格拉斯”
},
姓:“舒姆”,
名字:“汤姆”,
联系人:{
流动电话:‘(904)730-4211’,
电子邮件:“很深_shakira@hotmail.com'
}
},
{
地点:{
街道:'宾夕法尼亚大道',
州:'夏威夷',
国家:'美国',
城市:“林地”
},
姓氏:“雅各布森”,
名字:“雷纳”,
联系人:{
手机:“1-968-545-2264”,
电子邮件:'键入_leta@yahoo.com'
}
},
{
地点:{
街道:"平房街",,
州:“康涅狄格州”,
国家:'美国',
城市:“格拉斯林”
},
姓:“泽姆拉克”,
名字:“麦克斯韦”,
联系人:{
手机:“1-407-135-6122”,
电邮:'dorthy@hotmail.com'
}

}
您可以遍历数组并使用.notation获取状态值。您可以使用if条件检查特定状态

const people=[{
地点:{
街道:“B街”,
州:“新罕布什尔州”,
国家:'美国',
城市:“新道格拉斯”
},
姓:“舒姆”,
名字:“汤姆”,
联系人:{
流动电话:‘(904)730-4211’,
电子邮件:“很深_shakira@hotmail.com'
}
},
{
地点:{
街道:'宾夕法尼亚大道',
州:'夏威夷',
国家:'美国',
城市:“林地”
},
姓氏:“雅各布森”,
名字:“雷纳”,
联系人:{
手机:“1-968-545-2264”,
电子邮件:'键入_leta@yahoo.com'
}
},
{
地点:{
街道:"平房街",,
州:“康涅狄格州”,
国家:'美国',
城市:“格拉斯林”
},
姓:“泽姆拉克”,
名字:“麦克斯韦”,
联系人:{
手机:“1-407-135-6122”,
电邮:'dorthy@hotmail.com'
}
}
]
people.forEach(e=>{
如果(e.location.state==“康涅狄格州”){
console.log(e.first\u name+“”+e.last\u name)
}

})
你可以这样做

根据数组中每个对象的location.state中的值筛选人员数组

您可以根据自己的偏好改进状态的匹配条件,[例如,将所有空格转换为小写和修剪空格后进行比较] ,但这完全取决于您的要求

var-people=[{
地点:{
街道:“B街”,
州:“新罕布什尔州”,
国家:'美国',
城市:“新道格拉斯”
},
姓:“舒姆”,
名字:“汤姆”,
联系人:{
流动电话:‘(904)730-4211’,
电子邮件:“很深_shakira@hotmail.com'
}
},
{
地点:{
街道:'宾夕法尼亚大道',
州:'夏威夷',
国家:'美国',
城市:“林地”
},
姓氏:“雅各布森”,
名字:“雷纳”,
联系人:{
手机:“1-968-545-2264”,
电子邮件:'键入_leta@yahoo.com'
}
},
{
地点:{
街道:"平房街",,
州:“康涅狄格州”,
国家:'美国',
城市:“格拉斯林”
},
姓:“泽姆拉克”,
名字:“麦克斯韦”,
联系人:{
手机:“1-407-135-6122”,
电邮:'dorthy@hotmail.com'
}
}];
让各州=[‘阿拉斯加’、‘夏威夷’];
var filtered=people.filter(person=>states.indexOf(person.location.state)>-1);
console.log(已过滤);
const people=[{
地点:{
街道:“B街”,
州:“新罕布什尔州”,
国家:'美国',
城市:“新道格拉斯”
},
姓:“舒姆”,
名字:“汤姆”,
联系人:{
流动电话:‘(904)730-4211’,
电子邮件:“很深_shakira@hotmail.com'
}
},
{
地点:{
街道:'宾夕法尼亚大道',
州:'夏威夷',
国家:'美国',
城市:“林地”
},
姓氏:“雅各布森”,
名字:“雷纳”,
联系人:{
手机:“1-968-545-2264”,
电子邮件:'键入_leta@yahoo.com'
}
},
{
地点:{
街道:"平房街",,
州:“康涅狄格州”,
国家:'美国',
城市:“格拉斯林”
},
姓:“泽姆拉克”,
名字:“麦克斯韦”,
联系人:{
手机:“1-407-135-6122”,
电邮:'dorthy@hotmail.com'
}
}];
const test1=people.find(people=>people.location.state===“康涅狄格州”);

console.log(test1)
你想根据state的匹配值过滤数组吗?或者如果数组中存在state,你只想知道true/false?@Sarfraaz最后,我将过滤更长的人/信息数组。基本上,如果他们不是阿拉斯加或夏威夷人,他们将被推到一个新数组中。我知道如何实现这一点在某种程度上,我只是在努力获取“国家”在其当前位置的价值。