git remote set-up origin https://user2@github.com/user2/arepo.git
我弄清楚首先你需要创建一个数组来包含字符串,然后将数组的长度除以2,以便我们可以知道数组奇数或偶数的天气。如果奇怪,我会将星号推到索引数组[mid],如果它甚至我将星号推到索引数组[mid-1]和[mid]。这是我到目前为止所得到的:
console.log (Exercise(5) // ['','','*','','']
console.log (Exercise(4) // ['','*','*','']
console.log( Exercise1(0)) // invalid input
我不知道我做错了什么。这是我的逻辑还是我的语法不正确或者我只是愚蠢。
答案 0 :(得分:0)
更简单的方法可能是创建一半空白字符串数组,然后使用spread:
function Exercise(length) {
if (!Number.isInteger(length) || length < 1) return null;
const blanks = Array(Math.floor((length - 1) / 2)).fill('');
return length % 2 === 0
? [...blanks, '*', '*', ...blanks]
: [...blanks, '*', ...blanks];
}
console.log(Exercise(5));
console.log(Exercise(4));
console.log(Exercise(0));
&#13;
答案 1 :(得分:0)
您可以使用两个for循环与+/-索引相结合,让您的生活更加轻松。
虽然值得一提的是,如果您的号码是1或2,结果将分别为[*]或[*,*]。不知道你想怎么处理它。
var Exercise1 = (num) => {
let arr = [];
if (num % 2) {
for(i=0;i<num;i++){arr.push((i==~~(num/2))?'*':'');}
} else {
for(i=0;i<num;i++){arr.push((i==(num/2)-1 || i==(num/2))?'*':'');}
}
return arr;
}
console.log('Even (4): ['+Exercise1(4)+']');
console.log('Odd (5): ['+Exercise1(5)+']');
&#13;