【发布时间】:2021-05-17 07:03:45
【问题描述】:
我有一个元素数组["apple", "cherry", "raspberry", "banana", "pomegranate"],我希望它使每个奇数元素都大写:["Apple", "cherry", "Raspberry", "banana", "Pomegranate"]。
我可以将数组中的每个元素都大写,也可以过滤掉每个奇数元素,但不能同时过滤(即过滤只显示奇数元素)。
有没有人对此有任何方法和/或建议?我已经看到有关大写所有其他字母、检索所有其他数组元素等的问题,但与我所问的完全不同(但是,我仍在寻找)。
function alts(arr) {
const newArr = arr.filter((el, idx) => {
if (idx % 2 === 0) {
return arr.map(a => a.charAt(0).toUpperCase() + a.substr(1));
}
})
return newArr;
}
console.log(alts(["apple", "cherry", "raspberry", "banana", "pomegranate"]));
// Just returns [ 'apple', 'raspberry', 'pomegranate' ]
【问题讨论】:
-
你知道输入
arr的偶数索引处是否没有空字符串吗?如果你不这样做,你可能想要添加一个检查或预先对其进行预处理,因为我认为你现有的答案和所有答案都会引发错误。
标签: javascript arrays string algorithm methods