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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

「javaScript-每三位插入一个逗号实现方式」

發布時間:2025/3/8 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 「javaScript-每三位插入一个逗号实现方式」 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?一道火了很久的面試題,

//將以下數字從小數點前開始每三位數加一個逗號var num = 1234567890.12345;復制代碼

相信大家寫了這么久的前端代碼,不論是培訓也好,面試也好,這種題出現的頻率挺高的,

網上方法很多,但是我要給大家介紹2中簡單易懂的方式

1.toLocalString()

let newNum = num.toLocalString(); /* * => 1,234,567,890.12345* 最快的作弊方式 */復制代碼

下面來看下這個方法吧,MDN的解釋是,


/* * toLocaleString() 返回一個字符串表示數組中的元素。* 數組中的元素將使用各自的 toLocaleString 方法轉成字符串, * 這些字符串將使用一個特定語言環境的字符串(例如一個逗號 ",")隔開。*/復制代碼

簡直是作弊的無法無天!

2.下面來看下本人的寫的low方法

function changeNum(num) {if(typeof num !== 'number') {throw new Error('請傳入數字');return false;}// 切割小數點num = num + '';let index = 0,i = 0 ;for (;i < num.length ; i++) {if(num[i] === '.') {index = i;}}// 開始let start = num.slice(0,index) ;// 結束let end = num.slice(index,-1) ;let reson = [];// console.log(start.length)let firstStart = '',j = start.length;// 判斷是否為三位數的倍數// 第一位let newStart = start.slice(0,j % 3) ;console.log(newStart,start)start = start.replace(newStart,'');// Math.floor(j % 3) === j % 3 ?for(; j >= 0 ;j--){// console.log(j)// 遍歷出符合的項if( j % 3 === 0 && j !== start.length) {console.log(j,'123')reson.push(j)}}// 存儲被切割的字符串let sliceStr = [];// 反轉數組reson = reson.reverse();// 遍歷符合項切割數組for(let k = 0 ; k < reson.length ; k++) {console.log(reson[k],reson[k+1])sliceStr.push(start.slice(reson[k],reson[k+1]))}// 返回新的數組let newNum = '';if(newStart) {newNum = newStart + ',' + sliceStr.join(',') + end;}else {newNum = sliceStr.join(',') + end;}return newNum}let str = changeNum(num);復制代碼

這個代碼量的確有點可怕.... 來看下具體思路吧

/*1 => 首先將數字類型轉換成字符串,用indexof來索引是否存在小數點2 => 切割start開始字符串和end結束擁有小數點后的字符串3 => 對start進行取模,將余數用newStart存儲起來,并且在start字符串中刪除對應擁有的。4 => 遍歷得到哪些項是符合的5 => 數組反轉(多余操作...其實j++就可以了...)對字符串進行符合項切割6 => 判斷是否存在余數 返回不同的值*/復制代碼

寫完,哇的一下就哭出來了...?


以后還是要多深入了解一下js啊,知道的太淺了...


每天和大家一起進步一點點





轉載于:https://juejin.im/post/5cb754206fb9a06876103662

總結

以上是生活随笔為你收集整理的「javaScript-每三位插入一个逗号实现方式」的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。