关于javascript:JS-教练我想做习题2

28次阅读

共计 2013 个字符,预计需要花费 6 分钟才能阅读完成。

???? 前言

大家好呀,我是毛小悠,能够叫我二毛,在家中排行老二,是一名前端开发工程师。

本系列文章旨在通过练习来进步 JavaScript 的能力,一起欢快的做题吧。????????????

以下每道题,二毛我都有尝试做一遍。倡议限时训练,比方限定为半小时,如果半小时内想不进去,能够联合文章开端的参考答案来思考。

能够在下方评论区留言或者加我的微信:code_maomao。期待你的到来。

求关注求点赞 ????~~~????????????

???? 题目 1:Fizz Buzz

嘶嘶声

返回一个数组,其中蕴含从 1 到 N 的数字,其中 N 是参数值。N 永远不会小于 1。

输出一个数字 N,返回一个数组,数组元素由从 1 到 N 组成。

然而,如果数组元素满足以下任一条件,请替换某些值:

  • 如果该值是 3 的倍数,请改用“Fizz”值
  • 如果该值是 5 的倍数:请改为应用“Buzz”值
  • 如果该值是 3 和 5 的倍数:请应用值“FizzBuzz”代替

办法调用示例:

string[] result = FizzBuzz.GetFizzBuzzArray(3); // => ["1", "2", "Fizz"]

习题代码

function fizzbuzz(n){}

???? 题目 2:最小值总和!

给定大小为 2D 的数组 m * n。您的工作是在每一行中找到最小值的总和。

例如:

[[1, 2, 3, 4, 5], // minimum value of row is 1
[5, 6, 7, 8, 9], // minimum value of row is 5
[20, 21, 34, 56, 100] // minimum value of row is 20
]

习题代码

function sumOfMinimums(arr) {}

???? 题目 3:四七

简略的规定:您的函数应承受输出 4 和 7。如果 4 输出,函数应返回 7。如果 7 输出,函数应返回 4。输出的其余任何内容都应返回 0。只有一个陷阱,您的函数不能蕴含 if 语句,switch 语句或三元运算符(或 eval 函数,因为您能够绕开 if 要求来应用它)。

有一些非常简单的办法能够解决此问题,然而我激励您尝试并尽可能施展创造力。

祝好运!

零碎代码

function fourSeven(n){}

答案

???? 题目 1 的答案

参考答案 1:

function fizzbuzz(n)
{var i = 1, arr = [];
while(i <= n) {var fizz = (i % 3 == 0);
var buzz = (i % 5 == 0);
if(fizz || buzz) {arr.push((fizz?"Fizz":"") + (buzz?"Buzz":""));
}
else {arr.push(i);
}
i++;
}
return arr;
}
var fizzify = fizzbuzz;

参考答案 2:

// Return an array
var fizzify = fizzbuzz = function(n)
{return Array.apply(null, new Array(n)).map(function(e, i){return (++i % 3 ? '':'Fizz') + (i % 5 ?'' : 'Buzz') || i;
});
}

参考答案 3:

const fizzbuzz = n =>
[...Array(n)].map((val, idx) => !(++idx % 15) ? `FizzBuzz` : !(idx % 5) ? `Buzz` : !(idx % 3) ? `Fizz` : idx);

???? 题目 2 的答案

参考答案 1

function sumOfMinimums(arr) {return arr.reduce((a, b) => a + Math.min(...b), 0);
}

参考答案 2

function sumOfMinimums(arr) {
let total = 0;
for (let i = 0; i < arr.length; i++){total += Math.min(...arr[i])
}
return total;
}

参考答案 3:

function sumOfMinimums(arr) {
var sum=0;
for (var i=0; i<arr.length; ++i)
{
var min=Infinity;
for (var j=0; j<arr[i].length; ++j)
if (min>arr[i][j])
min=arr[i][j];
sum+=min;
}
return sum;
}

???? 题目 3 的答案

参考答案 1:

function fourSeven(n){
// Your Code Here
let results = {
7 : 4,
4 : 7,
}
return results[n] || 0
}

参考答案 2:

function fourSeven(n){return {7:4, 4:7}[n] | 0
}

参考答案 3:

function fourSeven(n) {while ( n===4)
return 7;
while (n===7)
return 4;
return 0;
}

???? 后序

本系列会定期更新的,题目会由浅到深的逐步提高。

求关注求点赞 ????~~????????????

能够关注我的公众号: 前端毛小悠 。欢送浏览

正文完
 0