微前端架构如何改变企业的开发模式与效率提升
859
2022-09-02
【JS题解】牛客网JS篇1-10题
目录
1、直角三角形2、文件扩展名3、分隔符4、单向绑定5、创建数组6、判断版本7、无重复数组8、数组排序9、新数组10、计数器
1、直角三角形
补全JavaScript代码,要求在页面上渲染出一个直角三角形,三角形换行要求使用"br"实现。三角形如下:
******
解:
2、文件扩展名
补全JavaScript代码,要求以字符串的形式返回文件名扩展名,文件名参数为"filename"。
注意:返回的扩展名格式为.扩展
解:
将字符串通过split方法以.分割成数组,数组最后一位既是扩展名称
3、分隔符
补全JavaScript代码,要求返回参数数字的千分位分隔符字符串。
输入:_comma(12300)输出:'12,300'
解:
举个例子:
当number为14360时,number / 1000为14.36,parseInt(number / 1000)为14,_comma(parseInt(number / 1000))为'14', number % 1000为360,最终return的结果为'14,360'
4、单向绑定
补全JavaScript代码,要求每当id为"input"的输入框值发生改变时触发id为"span"的标签内容同步改变。 注意: 必须使用DOM0级标准事件(onchange)
解:
5、创建数组
请补全JavaScript代码,要求返回一个长度为参数值并且每一项值都为参数值的数组。 注意:请勿直接使用for/while
解:
arr.fill(value, start, end)// - `value` 用来填充数组元素的值。// - `start` 可选 起始索引,默认值为 0。// - `end` 可选 终止索引,默认值为 this.length。
6、判断版本
请补全JavaScript代码,该函数接收两个参数分别为旧版本、新版本,当新版本高于旧版本时表明需要更新,返回true,否则返回false。 注意:
版本号格式均为"X.X.X"X∈[0,9]当两个版本号相同时,不需要更新
解:
版本号格式均为"X.X.X",且x为0-9的数字,直接可以对其通过split('.')分割成数组后为[x,x,x],再进一步使用join('')将数组转换成字符串为'xxx',加个0转换成数字number类型的,之后进行比较即可。
7、无重复数组
请补全JavaScript代码,实现一个函数,要求如下:
根据输入的数字范围[start,end]和随机数个数"n"生成随机数生成的随机数存储到数组中,返回该数组返回的数组不能有相同元素注意:不需要考虑"n"大于数字范围的情况
输入:getUniqueNums(2,10,4)输出:[4,6,2,8]
解:
利用ES6的Set数据结构,保证其中的数据不重复,通过Set的size属性获取其元素个数与n进行判断,少于指定元素时就生成随机数,然后通过add方法向Set中添加元素,之后返回时通过解构将Set结构转换成数组。
点此查看Set详情
8、数组排序
请补全JavaScript代码,根据预设代码中的数组,实现以下功能:
解:
点此查看数组排序sort方法详情
9、新数组
请补全JavaScript代码,该函数接受两个参数分别为数组、索引值,要求在不改变原数组的情况下返回删除了索引项的新数组。
解:
点此查看数组过滤filter方法详情
10、计数器
请补全JavaScript代码,要求每次调用函数"closure"时会返回一个新计数器。每当调用某个计数器时会返回一个数字且该数字会累加1。 注意:
初次调用返回值为1每个计数器所统计的数字是独立的
解:
这题主要考试的就是JS的闭包
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~