Есть интересная задача про FooBar.
Суть её заключается в том, что дан массив чисел, допустим от 1 до 100.
Нужно сделать так, что бы числа, делящиеся на 3 без остатка принимали значения Foo, а числа, делящиеся на 5 принимали значение Bar, а числа делящиеся на 3 и на 5 принимали значение Foobar.
И всё вроде бы ничего, и моих скудных знаний хватило, что бы решить данную задачу. Однако, чувство, что я написал 100 срок кода, вместо 5 заставило меня обратиться к вам.
Друзья, подскажите, как можно было решить данную задачу покороче. Спасибо!
Собственно мой код,
var arr = [];
console.log(arr);
function createArr(){
for (var i=1; i<101; i++)
arr.push(i);
}
createArr();
console.log(arr);
function divBy3By5(a){
var ar = [];
for (var i=0; i<a.length; i++){
if (a[i]%5 == 0 && a[i]%3 == 0){
ar.push(a[i]='foobar');
}
}
return ar;
}
function divBy3(a){
var ar = [];
for (var i=0; i<a.length; i++){
if (a[i]%3 === 0 && a[i]%5 != 0){
ar.push(a[i]='foo');
}
}
return ar;
}
function divBy5(a){
var ar = [];
for (var i=0; i<a.length; i++){
if (a[i]%5 === 0 && a[i]%3 != 0){
ar.push(a[i]='bar');
}
}
return ar;
}
divBy3(arr);
divBy5(arr);
divBy3By5(arr);
console.log(arr);