如何使用Array.map()遍历数组时排除指定元素执行转换操作
你可以在map方法的回调逻辑中增加判断条件,匹配到jerry时直接返回原值,其余元素再执行大写转换即可,修改后的代码如下:
let people = ['lucy', 'jerry', 'ricky', 'jessy', 'jerry', 'phil'] let output = people.map(person => { // 匹配到jerry直接返回原始值 if (person === 'jerry') { return person } // 其余元素转为大写返回 return person.toUpperCase() }) console.log(output)
执行后输出的结果为:['LUCY', 'jerry', 'RICKY', 'JESSY', 'jerry', 'PHIL'],完全符合需求。
如果后续需要排除的字符串不止jerry一个,可以用更通用的写法,提前定义保留原始值的名单:
let people = ['lucy', 'jerry', 'ricky', 'jessy', 'jerry', 'phil'] const keepList = ['jerry'] let output = people.map(person => { return keepList.includes(person) ? person : person.toUpperCase() }) console.log(output)
内容的提问来源于stack exchange,提问作者Ronnie
相关产品推荐
相关产品推荐

