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
循环即可