20、返回星期数(switch)
请补全JavaScript函数,要求以字符串的形式返回数字参数所对应的星期。
function _getday(value) { // 补全代码 switch(value){ case 1: return '星期一' case 2: return '星期二' case 3: return '星期三' case 4: return '星期四' case 5: return '星期五' case 6: return '星期六' case 7: return '星期天' } }
21、从大到小排序(冒泡排序法)
- 请补全JavaScript函数,要求将数组参数中的数字从大到小进行排序并返回
function _sort(array) { // 补全代码 var temp; for(let i=0;i<array.length;i++){ for(let j=i+1;j<array.length;j++){ if(array[i]<array[j]){ temp=array[i]; array[i]=array[j]; array[j]=temp; } } } return array; }
22、大写字符串(toUpperCase)
- 请补全JavaScript函数,要求将字符串参数转换为大写字符串并返回
function _touppercase(string) { // 补全代码 return string.toUpperCase(); }
23、获取对象属性键名(Object.keys)
- 请补全JavaScript函数,要求以数组的形式输出对象各个属性的键名。
示例: _keys({name:‘nowcoder’,age:7}) -> [‘name’,‘age’]
function _keys(object) { // 补全代码 return Object.keys(object) }
24、数据类型转为对象(new Number())
- 请补全JavaScript函数,要求将数字参数转换为对象的形式返回
function _numbertoobject(number) { // 补全代码 return new Number(number) }
25、==
和===
的区别
- 当进行==比较时候: 先检查两个操作数数据类型,如果相同, 则进行
===
比较, 如果不同, 则愿意为你进行一次类型转换,转换成相同类型后再进行比较 - 而===比较时, 如果类型不同,直接就是false.
<script> console.log(1 == [1]) // true console.log(1 === [1]) // false console.log(1 == true) // true console.log(1 === true) // false console.log(1 == '1') // true console.log(1 === '1') // false </script>
26、或运算(||)
- 返回参数 a 和 b 的逻辑或运算结果
function or(a, b) { return a||b; }
27、且运算(&&)
- 返回参数 a 和 b 的逻辑且运算结果
function and(a, b) { return a&&b; }
28、字符串字符统计
- 统计字符串中每个字符的出现频率,返回一个 Object,key 为统计字符,value 为出现频率
- 不限制 key 的顺序
- 输入的字符串参数不会为空
- 忽略空白字符
//for循环 function count(str) { var obj={}; for(let i=0;i<str.length;i++){ if(str[i]!=''){ obj[str[i]]=obj[str[i]]?++obj[str[i]]:1; } } return obj; } /* 'hello world' {h: 1, e: 1, l: 3, o: 2, w: 1, r: 1, d: 1} */
29、去除字符串两端空格
- 请补全JavaScript函数,要求去除参数字符串两端的空格并返回
//trim function _trim(string) { // 补全代码 return string.trim(); } //split function _trim(string) { // 补全代码 var arr=string.split(''); arr.pop(); arr.shift(); return arr.join('') }
总结:
方法 | 作用 |
trim() | 去除字符串的头尾空格 |
split() | 把一个字符串分割成字符串数组 |
join() | 把字符串数组变成字符串 |
pop() | 去掉数组最后一个元素 |
shift() | 去掉数组第一个元素 |
30、输出日期(Date)
- 请补全JavaScript函数,要求以字符串的形式输出时间戳参数所对应的"年-月-日"。 示例: _date(1631159776311) -> ‘2021-9-9’
function _date(number) { // 补全代码 let date=new Date(number); return date.getFullYear()+'-'+(date.getMonth()+1)+'-'+date.getDate(); //return `${date.getFullYear()}-${date.getMonth()+1}-${date.getDate()}` }
31、数字取整(parseInt)
- 请补全JavaScript函数,要求返回数字参数的整数部分
function _int(value) { // 补全代码 return parseInt(value); //return Math.floor(value) }
31、数组反转(reverse)
- 请补全JavaScript函数,要求将参数数组反转之后返回
//for循环 function _reverse(array) { // 补全代码 var arr1=[]; for(let i=array.length-1;i>=0;i--){ arr1.push(array[i]); } return arr1; } //reverse数组反转 function _reverse(array) { // 补全代码 return array.reverse(); }
32、数组转字符串(join)
- 请补全JavaScript函数,要求将参数数组转换为字符串输出。
- 示例:_join([1,‘2’,3]) -> “123” 注意:只需考虑一维数组且数据类型为原始数据类型。
function _join(array) { // 补全代码 return array.join(''); }
33、数组最大值
- 请补全JavaScript函数,要求找到数组参数中的最大值并返回。
//Math.max() function _max(array) { // 补全代码 return Math.max(...array); } function _max(array) { // 补全代码 var max=array[0]; for(let i=0;i<array.length;i++){ max=max<array[i]?array[i]:max; } return max; } //for function _max(array) { // 补全代码 let max = 1; for(let i = 0;i < array.length;i++){ if(max < array[i]){ max = array[i]; } } return max; }
34、搜索数字
- 请补全JavaScript函数,要求以boolean的形式返回字符串参数中是否包含数字
function _search(string) { // 补全代码 var arr=string.split(''); for(value of arr){ if (typeof(value === 'number')){ return true; }else{ return false; } } }
35、头部插入元素(unshifit)
- 请补全JavaScript函数,要求将第二个参数插入第一个参数数组的头部,并且以数组的形式返回。
function _unshift(array,value) { // 补全代码 return array.unshift(value); }
36、尾部插入元素(push)
- 请补全JavaScript函数,要求将第二个参数插入第一个参数数组的尾部,并且以数组的形式返回
function _push(array,value) { // 补全代码 return array.push(value); }
37、js-位置查找(indexof)
- 请补全JavaScript函数,要求以数字的形式返回第一个参数数组中第二个参数所在的首个索引值。注意:如果数组中不存在目标值,则返回-1。
//indexof function _indexof(array,value) { // 补全代码 return array.indexof(value); } //for function _indexof(array,value) { // 补全代码 var index=-1; for(let i=0;i<array.length;i++){ if(array[i]===value){ index=i; break; } } return index; }
38、向下取整(Math.floor)
- 请补全JavaScript函数,要求以数字的形式返回数字参数向下取整的结果
function _floor(number) { // 补全代码 return Math.floor(number); }
39、整数反转(parseInt)
- 请补全JavaScript函数,要求将整数参数反转之后输出
function _reverse(number) { // 补全代码 var arr=number.toString().split('');//字符串变数组 arr.reverse();//数组反转 number=arr.join('');//数组变字符串 return parseInt(number);//字符串变数字 }
40、字符串搜索(search)
- 请补全JavaScript函数,要求以boolean的形式返回字符串首参中是否包含第二个参数
function _search(string,value) { // 补全代码 return Boolean(string.search(value)); //return string.indexOf(value)==-1?false:true; }
41、函数——参数对象
- 请补全JavaScript函数,要求返回它的参数伪数组对象
function getArguments (a,b,c) { // 补充代码 return arguments; }
42、this指向
- 请补全JavaScript函数,使obj对象中fn函数返回该对象中a属性和b属性的和
var obj = { a: 1, b: 2, fn: function(){ // 补全代码 return this.a+this.b; //return obj.a+obj.b; } }
43、JS修改元素内容(innerHTML)
- 请补全JavaScript函数,将类为"box"的div元素内容修改为"欢迎来到牛客网"
- getElementsByClassName()
- querySelector()
<html> <head> <meta charset=utf-8> </head> <body> <div class='box'></div> </body> <script type="text/javascript"> function modifyText(){ // getElementsByClassName() var box=document.getElementsByClassName('box')[0]; box.innerHTML='欢迎来到牛客网'; } // querySelector() var box=document.querySelector('.box'); box.innerHTML='欢迎来到牛客网'; } </script> </html>
44、防止冒泡事件(stopPropagation)
- 请补全JavaScript函数,要求在点击li元素的时候不触发ul的事件。
- 注意:需要自行获取li元素。
<html> <head> <meta charset=utf-8> </head> <body> <ul> <li>nowcoder</li> </ul> </body> <script type="text/javascript"> // 补全代码 var li=document.querySelector('li'); li.addEventListener('click',function(e){ e.stopPropagation(); }) </script> </html>
阻止默认事件
- 请补全JavaScript函数,要求在点击id为"checkbox"的复选框时不会取消勾选状态。
- 注意:需要自行获取input元素。
<html> <head> <meta charset=utf-8> </head> <body> <form> <label>牛客会陪伴大家</label> <input id="checkbox" type="checkbox" checked /> </form> </body> <script type="text/javascript"> // 补全代码 let input=document.getElementsByTagName('input')[0]; input.onclick=function(){ input.checked=true; } // 补全代码 let input=document.getElementsByTagName('input')[0]; input.onclick=function(e){ e.preventDefault(); } </script> </html>