JavaScript map方法使用问题:提取参与者idNumber的代码错误排查
代码存在的问题
- 回调参数定义错误:
map遍历的每一项是参与者对象,你把参数命名为name存在语义误解,且没有正确使用这个当前项参数 - 取值逻辑错误:代码中使用
participants.name是从整个参与者数组上取属性,数组本身没有name、idNumber这两个属性,实际应该从回调拿到的当前遍历的单条参与者对象上取值 - 逻辑不符合需求:你的需求是仅提取
idNumber存入数组,现有代码试图拼接姓名和证件号,和需求不符,运行后只会得到满是undefined undefined的数组
修正后的代码
const participants = [ { name: 'Abu', idNumber: 'S7282395H', gender: 'male' }, { name: 'Mary', idNumber: 'T4689018Z', gender: 'female' }, { name: 'Suzi', idNumber: 'G5512873T', gender: 'female' }, { name: 'T Chakra', idNumber: 'T8198514B', gender: 'male' } ]; // 遍历每一个参与者对象,仅返回idNumber属性 const idNumbers = participants.map(item => item.idNumber); console.log(idNumbers); // 输出结果:['S7282395H', 'T4689018Z', 'G5512873T', 'T8198514B']
内容的提问来源于stack exchange,提问作者user17458987
相关产品推荐
相关产品推荐

