如何在JavaScript中从多维数组提取PMID生成新数组?
无需循环提取PMID的最优方法
嘿,这个需求其实用JavaScript原生数组方法就能轻松搞定,完全不用手动写for循环,代码更简洁还更易读!
你可以直接用数组的map()方法——这是专门用来将数组中每个元素映射为新元素、生成全新数组的工具,完美匹配你只提取PMID的需求。
具体实现代码
针对你的场景,一行代码就能解决:
const newArray = this.pmidList.map(item => item.PMID);
为什么这个方法更优?
- 语义清晰:
map()的名字直接表明它在做“元素映射”操作,其他开发者一眼就能看懂你的意图 - 代码简洁:省去了初始化空数组、手动控制循环索引的冗余代码
- 无副作用:
map()不会修改原数组,而是返回一个全新的数组,避免意外修改原始数据的风险
完整示例验证
假设你的pmidList是给定的数组,运行代码后就能得到预期结果:
// 示例原数组 const pmidList = [ {"PMID":31206477,"MemberID":1287,"recID":6352}, {"PMID":31202264,"MemberID":1245,"recID":5974}, {"PMID":31201299,"MemberID":1184,"recID":3012}, {"PMID":31196160,"MemberID":1241,"recID":3833} ]; // 提取PMID const newArray = pmidList.map(item => item.PMID); console.log(newArray); // 输出: [31206477, 31202264, 31201299, 31196160]
如果需要兼容旧版浏览器/环境,也可以用普通函数写法:
var newArray = this.pmidList.map(function(item) { return item.PMID; });
内容的提问来源于stack exchange,提问作者Bill
相关产品推荐
相关产品推荐

