从数组中提取属性值到另一个数组的高效方法
提取数组对象中tag属性值的高效方法
你可以用JavaScript的Array.prototype.map()方法,这是专门用来把数组每个元素转换成新值并返回新数组的工具,比forEach更贴合这类转换场景,代码简洁且性能出色:
const data = [ { "tag":"A" }, { "tag":"B" }, { "tag":"C" } ]; const tags = data.map(item => item.tag); console.log(tags); // 输出: ["A", "B", "C"]
如果要处理部分对象可能没有tag属性的情况,能加个判断避免报错:
const tags = data.map(item => item?.tag || '');
另外也可以用Array.prototype.reduce(),不过它的可读性不如map,更适合需要额外逻辑的场景:
const tags = data.reduce((acc, item) => { acc.push(item.tag); return acc; }, []);
这两种都是原生数组方法,性能和forEach持平甚至更优,而且map是专为这类元素转换场景设计的,代码更简洁好维护。
内容的提问来源于stack exchange,提问作者Roma
相关产品推荐
相关产品推荐

