JavaScript:过滤后如何从map函数返回name和type多个值
解决方案
你只需要在map函数里返回一个包含name和type的对象(或数组)即可,同时可以简化filter的回调逻辑(因为filter只需要判断布尔值,无需返回整个data对象):
对象形式(推荐,可读性更强)
let newArray = apiArr .filter(data => data.parentId === detailsOfSelectedValue.id) .map(item => ({ name: item.name, type: item.type }));
数组形式(如果需要更紧凑的结构)
let newArray = apiArr .filter(data => data.parentId === detailsOfSelectedValue.id) .map(item => [item.name, item.type]);
说明
filter回调简化为箭头函数,直接返回parentId的匹配条件,逻辑更清晰map中返回对象时,箭头函数需要用括号包裹对象字面量,避免被JS解析为函数体- 最终
newArray的每一项会是包含name和type的对象(或数组),比如{ name: "xxx", type: "yyy" }或["xxx", "yyy"]
内容的提问来源于stack exchange,提问作者Trupti
相关产品推荐
相关产品推荐

