如何通过函数返回数组中特定出生年份区间人员的姓名列表
解决方法
你需要在filter筛选后添加map方法,从符合条件的对象中提取姓名属性。另外注意:当前代码里Alice的出生年份是1990,并不在1960-1986的区间内,按逻辑不会被包含在结果里,可能是你描述时的小失误。
修改后的函数代码如下:
const allCoders = [ {name: 'Ada', born: 1816}, {name: 'Alice', born: 1990}, {name: 'Susan', born: 1960}, {name: 'Eileen', born: 1936}, {name: 'Zoe', born: 1995}, {name: 'Charlotte', born: 1986}, ] const findCodersBetween = (coders, startYear, endYear) => { return coders .filter(coder => coder.born >= startYear && coder.born <= endYear) .map(coder => coder.name); // 提取每个对象的name属性 };
调用findCodersBetween(allCoders, 1960, 1986)会返回:['Susan', 'Charlotte']
如果确实需要包含Alice,可以调整年份区间(比如将endYear设为1990),或者检查筛选条件的逻辑。
内容的提问来源于stack exchange,提问作者Claimaura
相关产品推荐
相关产品推荐

