JavaScript中如何过滤fetch返回的字典数组并提取指定属性?
解决Fetch API数据过滤与格式化问题
原请求代码
fetch(url, requestOptions) .then(response => response.json()) .catch(error => console.log('error', error));
返回数据结构
[ { 'Obj.Name': 'objname1', 'Obj.property': 'red' // 其他属性 }, { 'Obj.Name': 'objname1', 'Obj.property': 'blue' // 其他属性 }, { 'Obj.Name': 'objname3', 'Obj.property': 'green' // 其他属性 }, ]
需求
添加.then环节,传入指定的Obj.Name值(比如objname1),过滤出对应条目,并格式化为Obj: objectname1, ObjProp: red这类字符串输出。
解决方案
修改后的完整代码如下:
const targetObjName = 'objname1'; // 要过滤的目标对象名称 fetch(url, requestOptions) .then(response => response.json()) .then(data => { // 过滤出Obj.Name匹配的条目 const filteredItems = data.filter(item => item['Obj.Name'] === targetObjName); // 格式化输出每个条目 filteredItems.forEach(item => { console.log(`Obj: ${item['Obj.Name']}, ObjProp: ${item['Obj.property']}`); }); // 若需返回处理后的结果供后续使用,可添加 return filteredItems; }) .catch(error => console.log('error', error));
代码说明
- 定义
targetObjName变量存储目标对象名称,便于后续修改 - 用
Array.filter()筛选出Obj.Name匹配的所有条目 - 通过
Array.forEach()遍历筛选结果,按指定格式输出属性 - 若需将处理结果用于后续操作,可在
.then中返回filteredItems
内容的提问来源于stack exchange,提问作者vsharma14
相关产品推荐
相关产品推荐

