判断作弊 牛客 编程_牛客JS编程大题(二)

11.统计数组 arr 中值等于 item 的元素出现的次数

function count(arr, item) {

var num = 0;

for(var i = 0;i < arr.length;i++){

if(arr[i] === item){

num++;

}

}

return num;

}

12.找出数组 arr 中重复出现过的元素

function duplicates(arr) {

var a = [];

arr.sort();

for(var i = 0;i < arr.length;i++){

if(arr[i]==arr[i+1]&&(a.indexOf(arr[i])==-1)){

a.push(arr[i]);

}

}

return a;

}

13.为数组 arr 中的每个元素求二次方。不要直接修改数组 arr,结果返回新的数组

function square(arr) {

var a = [];

for(var i = 0;i < arr.length;i++){

a.push(arr[i]*arr[i]);

}

return a;

}

14.在数组 arr 中,查找值与 item 相等的元素出现的所有位置

function findAllOccurrences(arr, target) {

var temp = [];

for(var i = 0;i < arr.length;i++){

if(arr[i] == target){

temp.push(i);

}

}

return temp;

}

15.给定的 js 代码中存在全局变量,请修复

function globals() {

var myObject;

myObject = {

name : 'Jory'

};

return myObject;

}

16.请修复给定的 js 代码中,函数定义存在的问题

function functions(flag) {

if (flag) {

var getValue=function() { return 'a'; };

} else {

var getValue=function() { return 'b'; };

}

return getValue();

}

17.修改 js 代码中 parseInt 的调用方式,使之通过全部测试用例

function parse2Int(num) {

return parseInt(num,10);

}

18.判断 val1 和 val2 是否完全等同

function identity(val1, val2) {

if(val1 === val2){

return true;

}else{

return false;

}

}

19.实现一个打点计时器,要求

1、从 start 到 end(包含 start 和 end),每隔 100 毫秒 console.log 一个数字,每次数字增幅为 1

2、返回的对象中需要包含一个 cancel 方法,用于停止定时操作

3、第一个数需要立即输出

function count(start,end){

console.log(start++);

var timer = setInterval(function(){

if(start <= end){

console.log(start++);

}else{

clearInterval(timer);

}

},100);

return{

cancel:function(){

clearInterval(timer);

}

};

}

20.实现 fizzBuzz 函数,参数 num 与返回值的关系如下:

1、如果 num 能同时被 3 和 5 整除,返回字符串 fizzbuzz

2、如果 num 能被 3 整除,返回字符串 fizz

3、如果 num 能被 5 整除,返回字符串 buzz

4、如果参数为空或者不是 Number 类型,返回 false

5、其余情况,返回参数 num

function fizzBuzz(num) {

var str = "";

if(typeof(num) == "number"){

if(num%3 == 0)

str+="fizz";

if(num%5 == 0)

str+="buzz";

if(num%3!=0&&num%5!=0)

return num;

}else return false;

return str;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值