javascript
JS编程练习题(javascript)
不標準寫法
文章目錄
- 前言
- 一、實現(xiàn)一個函數(shù),輸入某個字符串,輸出其中出現(xiàn)最多的字符和個數(shù)
- 二、封裝方法將字符串轉(zhuǎn)化為駝峰命名
- 三、給定一個字符串,找到它的第一個不重復(fù)的字符,并返回它的索引
- 四、統(tǒng)計字符串中的單詞個數(shù),這里的單詞指的是連續(xù)的不是空格的字符
- 五、請寫一個函數(shù),將數(shù)字的整數(shù)位以千分位分隔
- 六、給定一個整數(shù)數(shù)組 nums 和一個整數(shù)目標值 target,請你在該數(shù)組中找出 和為目標值 target 的那 兩個 整數(shù),并返回它們的數(shù)組下標
- 七、書寫一個函數(shù),以兩個有序數(shù)組作為參數(shù),返回合并成的有序數(shù)組
- 八、實現(xiàn)一個函數(shù),傳入一個或多個對象,返回一個合并了它們所有屬性的對象,如果出現(xiàn)同名屬性,后買你的屬性值會覆蓋前面的
- 總結(jié)
前言
前言就是自己解除了題好開森!
一、實現(xiàn)一個函數(shù),輸入某個字符串,輸出其中出現(xiàn)最多的字符和個數(shù)
<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);// 找出出現(xiàn)最多的var d = 0;var h = '';for (const key in o) {if (o[key] > d) {d = o[key];h = key}}console.log('字符最多的是'+h+',出現(xiàn)了'+d+'次');}fn("abcaaaaaaaabcbbccccc");</script>>{a: 9, b: 4, c: 7}
>字符最多的是a,出現(xiàn)了9次
二、封裝方法將字符串轉(zhuǎn)化為駝峰命名
<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
三、給定一個字符串,找到它的第一個不重復(fù)的字符,并返回它的索引
<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四、統(tǒng)計字符串中的單詞個數(shù),這里的單詞指的是連續(xù)的不是空格的字符
請注意,你可以假定字符串里不包括任何不可打印的字符。
輸入: "Hello, my name is John"
輸出: 5
解釋: 這里的單詞是指連續(xù)的不是空格的字符,所以 "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
五、請寫一個函數(shù),將數(shù)字的整數(shù)位以千分位分隔
<script>function fn(num) {num = num.toString();// 復(fù)制給cvar c = [];for (let i = 0; i < num.length; i++) {c[i] = num[i]}num = String(num).split('.')// a為小數(shù)點前面部分var a = num[0];// l小數(shù)點前面部分長度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"六、給定一個整數(shù)數(shù)組 nums 和一個整數(shù)目標值 target,請你在該數(shù)組中找出 和為目標值 target 的那 兩個 整數(shù),并返回它們的數(shù)組下標
<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
七、書寫一個函數(shù),以兩個有序數(shù)組作為參數(shù),返回合并成的有序數(shù)組
<script>function fn(arr1, arr2) {// 合并數(shù)組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>八、實現(xiàn)一個函數(shù),傳入一個或多個對象,返回一個合并了它們所有屬性的對象,如果出現(xiàn)同名屬性,后面屬性值會覆蓋前面的
總結(jié)
提示:本文可能大多都在繞圈子,for了一整天,僅供參考
總結(jié)
以上是生活随笔為你收集整理的JS编程练习题(javascript)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 备份数据 宝塔linux_宝塔面板旧版本
- 下一篇: springboot 分页查询参数_10