JS编程练习题(javascript)
不标准写法
文章目录
- 前言
- 一、实现一个函数,输入某个字符串,输出其中出现最多的字符和个数
- 二、封装方法将字符串转化为驼峰命名
- 三、给定一个字符串,找到它的第一个不重复的字符,并返回它的索引
- 四、统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符
- 五、请写一个函数,将数字的整数位以千分位分隔
- 六、给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标
- 七、书写一个函数,以两个有序数组作为参数,返回合并成的有序数组
- 八、实现一个函数,传入一个或多个对象,返回一个合并了它们所有属性的对象,如果出现同名属性,后买你的属性值会覆盖前面的
- 总结
前言
前言就是自己解除了题好开森!
一、实现一个函数,输入某个字符串,输出其中出现最多的字符和个数
<script>function fn(b) {var arr = [];arr[0] = b[0];var o = {};var m = [];for (var i = 0; i < b.length; i++) {var n = 1;for (var j = 0; j < arr.length; j++) {if (b[i] == arr[j]) {n += 1;} else {n += 0;}}if (n == 1) {arr.push(b[i]);}}for (let w = 0; w < arr.length; w++) {var c = 0;for (let u = 0; u < b.length; u++) {if (b[u] == arr[w]) {c += 1;} else {c += 0;}}o[arr[w]] = c;}console.log(o);// 找出出现最多的var d = 0;var h = '';for (const key in o) {if (o[key] > d) {d = o[key];h = key}}console.log('字符最多的是'+h+',出现了'+d+'次');}fn("abcaaaaaaaabcbbccccc");</script>
>{a: 9, b: 4, c: 7}
>字符最多的是a,出现了9次
二、封装方法将字符串转化为驼峰命名
<script>function fn(str) {console.log(str);str = str.split('-');console.log(str);for (let i = 1; i < str.length; i++) {var s = str[i][0];var q = s.toUpperCase();str[i] = str[i].replace(s,q)console.log(str);}var i = ''for (let d = 0; d < str.length; d++) {i = i + str[d]}console.log(i);}var s1 = "get-element-by-id";fn(s1);</script>
>getElementById
三、给定一个字符串,找到它的第一个不重复的字符,并返回它的索引
<script>function fn(str) {var b = ''var d = '';var s = [];for (let i = 0; i < str.length; i++) {s[i] = str[i]}for (let j = 0; j < str.length; j++) {b = strvar a = s[j];b = b.replace(a,'');for (let y = 0; y < b.length; y++) {var n = 0;for(var key in b){if (a == b[key]) {n += 1;break}else{n += 0;}}if (n == 0) {d +=a;}}}console.log(str.indexOf(d[0]));}s = "leetcode"fn(s) // 返回 0s = "loveleetcode"fn(s) // 返回 2
四、统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符
请注意,你可以假定字符串里不包括任何不可打印的字符。
输入: "Hello, my name is John"
输出: 5
解释: 这里的单词是指连续的不是空格的字符,所以 "Hello," 算作 1 个单词。
输入:"how are you"
输出:3
<script>function fn(str) {str = str.split(' ')var a = str.length;console.log(a);}fn("Hello, my name is John");fn("how are you")</script>
>5
>3
五、请写一个函数,将数字的整数位以千分位分隔
<script>function fn(num) {num = num.toString();// 复制给cvar c = [];for (let i = 0; i < num.length; i++) {c[i] = num[i]}num = String(num).split('.')// a为小数点前面部分var a = num[0];// l小数点前面部分长度var l = a.length;// y前面第一个逗号位置(y=1,2)var y = l % 3;// n后面有几个逗号(n=1,0)var n = (l - y) / 3 - 1;if (y != 0 && n >0) {c.splice(y, 0, ',');for (let x = 1; x < n + 1; x++) {c.splice(y + 3 * x + 1 * x, 0, ',')}var k = '';for (let m = 0; m < c.length; m++) {k = k + c[m];}} else if (n > 0) {for (let x = 1; x < n + 1; x++) {c.splice(3 * x - 1 + 1 * x, 0, ',')}var k = '';for (let m = 0; m < c.length; m++) {k = k + c[m];}} else if(y != 0 && n == 0){c.splice(y, 0, ',');var k = '';for (let m = 0; m < c.length; m++) {k = k + c[m];}}else{var k = '';for (let m = 0; m < c.length; m++) {k = k + c[m];}}console.log(k);}fn(1234567) // "1,234,567"fn(12345.67) // "12,345.67"
六、给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标
<script>var nums = [2,7,11,15];var target = 9;for (var i = 0; i < nums.length; i++) {// a为这轮的nums值var a = nums[i]var b = [];for (let j = 0; j < nums.length; j++) {b[j] = nums[j];}var c = b.indexOf(a);b.splice(c,1);var c = '';var d = '';for (let k = 0; k < b.length; k++) {if (a+b[k] == target) {d =d+ k;c =c+ i;break;}}if (d != '') {console.log(d,Number(c)+1);break;}}</script>
>0 1
七、书写一个函数,以两个有序数组作为参数,返回合并成的有序数组
<script>function fn(arr1, arr2) {// 合并数组var a = [];for (let i = 0; i < arr2.length; i++) {a.push(arr2[i])a.push(arr1[i])}var b = [];b[0] = a[0];for (let j = 0; j < a.length-1; j++) {for (let k = b.length-1; k >= 0; k--) {var m = 0;if (a[j+1] >= b[k]) {m = k+1;break;}}if (m != 0) {b.splice(m,0,a[j+1])}else{b.unshift(a[j+1])}}console.log(b);}var nums1 = [1, 2, 3]var nums2 = [2, 5, 6]fn(nums1, nums2); // [1,2,2,3,5,6]</script>
八、实现一个函数,传入一个或多个对象,返回一个合并了它们所有属性的对象,如果出现同名属性,后面属性值会覆盖前面的
总结
提示:本文可能大多都在绕圈子,for了一整天,仅供参考
JS编程练习题(javascript)相关推荐
- 4.1 js小练习题javascript 今日小练习
js小练习题javascript 今日小练习 输入一个数字,判断是不是水仙花数自恋数(自幂数 各位的3次方+十位的三次方+百位的三次方等于153) ----输出true或false即可. 解答: &l ...
- 前端利器—1—转型JS编程
JS作为前端开发的必备语言工具,虽然JS对非编程人员来说比较容易上手,但是,要真正的精通JS开发,尚且假设学习过c++.java等面向对象语言的一种.因为对oo开发人员,迅速掌握JS的开发要点,是顺利 ...
- Underscore js是一个JavaScript实用库
Underscore.js是一个JavaScript实用库,提供了一整套函数式编程的实用功能,但是没有扩展任何JavaScript内置对象.弥补了部分jQuery没有实现的功能,同时又是Backbon ...
- Vue.js(渐进式JavaScript框架)
Vue.js(渐进式JavaScript框架) 渐进式:逐步实现新特性. Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的JavaScript框架.它基于标准HTML.CSS ...
- 牛客/赛码 编程题 javascript 的本地调试
还在担心编程题 javascript 的本地调试问题吗? 先贴出牛客网 js(V8) 的输入输出来看看 while(line=readline()){var lines = line.split(' ...
- php 代码延迟执行,php和js编程中的延迟执行效果的代码
php和js编程中的延迟执行效果的代码 php sleep(10); usleep(10); js里的 setInterval("方法", 100); PHP sleep() 函数 ...
- 函数式编程在JavaScript下应用实践
点击此处阅读原文:函数式编程在JavaScript下应用实践 函数式编程在JavaScript下应用实践 文章目录 函数式编程在JavaScript下应用实践 前言 从一个实际需求说起 一把梭实现 C ...
- c语言 简单编程题,c语言简单编程练习题.doc
c语言简单编程练习题 精品文档 2016全新精品资料-全新公文范文-全程指导写作 –独家原创 PAGE1 / NUMPAGES1 c语言简单编程练习题 然后输出相应的字符. #include #inc ...
- 海伦公式c语言编程funcd,c语言编程练习题及答案_0.doc
c语言编程练习题及答案_0 精品文档 2016全新精品资料-全新公文范文-全程指导写作 –独家原创 PAGE1 / NUMPAGES19 c语言编程练习题及答案 学生数 印数 考核方式 闭卷 考核时间 ...
- python 分数序列求和公式_Python分数序列求和,编程练习题实例二十四
本文是关于Python分数序列求和的应用练习,适合菜鸟练习使用,python大牛绕行哦. Python练习题问题如下: 问题简述:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13 要 ...
最新文章
- 点击文字弹出一个DIV层窗口代码
- Java中的24种设计模式与7大原则
- oracle用EXPLAIN PLAN 分析SQL语句
- JS实现在输入框内输入@时,邮箱账号自动补全
- php email 发送,php 发送 Email
- 第十八节:教你如何使用ES6的Promise对象
- 信息学奥赛一本通 2053:【例3.3】三个数
- 圆角边框(HTML、CSS)
- Qt-textEdit 滚顶条设置只读模式
- (转)直击马云虞锋闭门对话,3小时谈透未来变革大势,定调千亿美元目标
- MySQL索引优化的几种方式
- 如何设置python类的私有属性
- 顺丰android架构师,顺丰数据库运维架构.pdf
- 把这304道React的面试题刷完,前端面试没有在怕的!
- Placement blockage types
- 以下哪种数据结构的查找效率最高
- 区块链概念正宗龙头股
- python实现Hangman游戏
- artemis服务_集成Artemis
- 面试中自我介绍的小技巧
热门文章
- 三级数据库考mysql_计算机三级MySQL数据库试题及答案
- python如何操作oracle数据库_Python连接oracle数据库的基本操作
- java转码工具应用程序_java转码工具native2ascii.exe的使用方法
- 从零开始学android
- 汇编语言程序设计(一)
- 原生JS实现图片幻灯片效果
- 【开源系列】三国演义LBS (二)游戏策划案
- 收集的一些discuz插件常用插件。
- java api1.8中文版(由谷歌,百度,有道,必应翻译).md
- php 定时推送,php定时自动发送新浪微博