日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JS编程练习题(javascript)

發(fā)布時間:2023/12/10 javascript 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JS编程练习题(javascript) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

不標準寫法

文章目錄

  • 前言
  • 一、實現(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)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。