Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.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 按属性筛选对象数组并获取与其关联的storeID_Javascript_Arrays_Loops_Object_Arraylist - Fatal编程技术网

Javascript 按属性筛选对象数组并获取与其关联的storeID

Javascript 按属性筛选对象数组并获取与其关联的storeID,javascript,arrays,loops,object,arraylist,Javascript,Arrays,Loops,Object,Arraylist,我是新来的。所以,如果我没有正确表达我的问题,请原谅 当搜索条件匹配时,我对数组过滤和从中获取属性详细信息有特定的要求。这是我的要求 let userEntered = "Zone 1" let givenArray = [0]: { zone: 'Zone 1', storeId: '3405'} [1]: { zone: 'Zone 2', storeId: '3455'} [2]: { zone: 'Zone 2', storeId: '4125'} [3]: { zone: 'Zon

我是新来的。所以,如果我没有正确表达我的问题,请原谅

当搜索条件匹配时,我对数组过滤和从中获取属性详细信息有特定的要求。这是我的要求

let userEntered = "Zone 1"

let givenArray = 
[0]: { zone: 'Zone 1', storeId: '3405'}
[1]: { zone: 'Zone 2', storeId: '3455'}
[2]: { zone: 'Zone 2', storeId: '4125'}
[3]: { zone: 'Zone 1', storeId: '5677'}
[4]: { zone: 'Zone 2', storeId: '1123'}
[5]: { zone: 'Zone 3', storeId: '9845'}
[6]: { zone: 'Zone 1', storeId: '2341'}
当用户进入
Zone 1
时,我们必须搜索
givenArray
,并过滤掉那些有
Zone='Zone 1'

完成后,我需要获取与之关联的storeId。因此,根据上述场景,与
区域1
关联的StoreID为“3405”、“5677”、“2341”

所以我的最终输出应该是“3405”、“5677”、“2341”。(作为由
分隔的存储ID字符串)

有人能告诉我如何做到这一点吗。我能够使用常规筛选方法来获取具有
区域==“Zone1”
的数组。但我无法从中获取
storeid
,并将其保存为输出中的字符串。有人能帮忙/建议一种方法吗

在、和操作员的帮助下

const userEntered=“区域1”;
常数givenArray=[
{zone:'zone 1',storeId:'3405'},
{zone:'zone 2',storeId:'3455'},
{zone:'zone 2',storeId:'4125'},
{zone:'zone 1',storeId:'5677'},
{zone:'zone 2',storeId:'1123'},
{zone:'zone 3',storeId:'9845'},
{zone:'zone 1',storeId:'2341'},
];
const result=givenArray
.filter(item=>item.zone===userEntered)
.map(item=>item.storeId)
。加入(‘,’);
控制台日志(结果)
var arr=[{zone:'zone 1',storeId:'3405'}
,{zone:'zone 2',storeId:'3455'}
,{zone:'zone 2',storeId:'4125'}
,{zone:'zone 1',storeId:'5677'}
,{zone:'zone 2',storeId:'1123'}
,{zone:'zone 3',storeId:'9845'}
,{zone:'zone 1',storeId:'2341'}]

var result=arr.filter(item=>item.zone==“zone 1”).forEach(x=>console.log(x.storeId))过滤器->映射->加入。或者只需使用带有
if
条件的简单
for
循环即可