【发布时间】:2021-06-25 08:58:56
【问题描述】:
给定这个数组:arr = [ '00011100', '00000001', '00101101', '11111111' ];
如果元素在数组中的偶数位置,我必须从该元素中删除所有具有偶数索引的字符,反之亦然。示例:
第一个元素在偶数位置: arr[0] = '00011100'
第二个元素在奇数位置: arr[1] = '00000001';
我必须删除这些字符并将它们作为连接字符串返回。
整个数组的输出 // 0110 0000 0011 1111
请帮我解决这个问题 :) 提前谢谢你!
let enigma = "";
for(let i = 0; i < arr.length; i++){
let index = arr[i];
let evenStr = "";
let oddStr = "";
if(index % 2 === 0) {
for(let j = 1; j < index.length; j+=2) {
evenStr += index[j];
} enigma += evenStr;
} else if(index % 2 !== 0) {
for(let x = 1; x < index.length; x+=2) {
oddStr += index[x];
} enigma += oddStr;
}
}
console.log(enigma) //0110000100111111;
这是我目前的代码,但我收到的输出略有不同:/
【问题讨论】:
-
您在尝试过的过程中遇到了什么问题?
-
arr[0] = '00011100'。您是否使用zero-based数组索引来计算哪个在偶数位置,哪个在奇数位置。 -
你如何计算
'00011100'中的even或odd -
是的。数组中的第一个元素位于偶数位置。 --> arr[0];
-
而下一个元素在奇数位置 --> arr[1];
标签: javascript arrays string loops concatenation