1、千分位分隔符

const toDecimalMark = num => num.toLocaleString("en-US");
console.log(toDecimalMark(12305030388.9087))

2、时间戳转时间

const setTime = tiemStamp => new Date(parseInt(timeStamp) * 1000).toLocaleString().replace(/[/]/g,'-');
console.log(setTime(1535932800))

3、时间转时间戳

const timeStamp = time => new Date(time).getTime();
console.log(timeStamp('2019-03-19 11:55:00'))

4、去除空格

const removeSpace = str => str.replace(/\s+/g,'')
let str = '1 2 3 4'
console.log(removeSpace(str))

5、检测类型

const typeOf = str=> Object.prototype.toString.call(str) == '[object String]'
let str = '3123'
console.log(typeOf(str))

6、数字简化为“万”

function unitConvert(num){
let moneyUnits = ['元','万元','亿元','万亿'];
let dividend = 10000;
let curentNum = num; //转换数字
let curentUnit = moneyUnits[0]; //转换单位
let len = moneyUnits.length;
for(var i = 0; i < len; i++) {
curentUnit = moneyUnits[i];
if(strNumSize(curentNum) < 5) {
break;
}
curentNum = curentNum / dividend;
}
let m = {num: 0,unit: ""}
m.num = curentNum.toFixed(2);
m.unit = curentUnit;
return m;
}
function strNumSize(tempNum) {
var stringNum = tempNum.toString();
var index = stringNum.indexOf(".");
var newNum = stringNum;
if(index != -1) {
newNum = stringNum.substring(0, index);
}
return newNum.length;
}
unitConvert(1000000)

7、数组去重

(1)
let arrList = [1,2,3,1,3,33,6,2];
const removeRepeat = arr => [...new Set(arr)]
console.log(removeArr(arrList))
(2)
let arrList = [1,2,3,1,3,33,6,2];
let newArr = [];
let len = arrList.length
for(let i=0;i<len;i++){
newArr.indexOf(arrList[i])==-1 ? newArr.push(arrList[i]):''
}
console.log(newArr)

8、出现最多次数的字符串,出现多少次

let str = "qwertyuiopqqqasdf"
function maxstringload(str){
let obj = {}
let len = str.length
for(let i=0;i<str.len;i++){
let key = str[i]
if(obj[key]){
obj[key]++
}else{
obj[key] = 1
}
}
let maxCount =0;
let maxString = "";
for(let key in obj){
if(maxCount<obj[key]){
maxCount = boj[key];
maxString = key;
}
}
return "出现次数最多的字母:" + maxString + "出现了" + maxCount + "次";
}
console.log(maxstringload(str))

9、数组排序

(1)
let arr = [17,2,47,3,5,9,3,4,11,4,24]
const sortArr = arr => arr.sort((prve,next) => prve-next);
console.log(arr) (2)
function bubbleSort(arr) {
let len = arr.length;
for(let i = 0; i < len; i++) {
for(let j = 0; j < len - 1 - i; j++) {
if(arr[j] > arr[j + 1]) { //相邻元素两两对比,如果前一个数比后一个大,就交换位置
let temp = arr[j + 1]; //元素交换
arr[j + 1] = arr[j];
arr[j] = temp;
}
}
}
return arr;
}
let arr = [3, 44, 38, 5, 47, 15, 36, 26, 27, 2, 46, 4, 19, 50, 48];
console.log(bubbleSort(arr));

10、深拷贝

(1)
const clone = obj => obj.JSON.parse(JSON.stringify(obj));
const clone = obj => obj.JSON.stringify(JSON.parse(obj))

(2)
const perfectClone = obj => {
if(obj == null){
return 'unKonwn';
}
if(typeof obj !== 'object'){
return obj
}
if(obj.constructor === Date){
return new Date(obj)
}
const newObj = new obj.constructor();
for(let key in obj){
if(obj.hasOwnProperty(key)){
const val = obj[key]
newObj[key] = typeof val === 'object' ? argument.call(val) : val;
}
}
return newObj
}

11、浅拷贝

const shallowClone = obj => Object.assign({},obj)

12、随机数

Math.random();//随机生成0到1的数字

Math.floor(Math.random() * 可能只的总数 + 第一个可能的值)

eg:Math.floor(Math.random() * 9 + 2); // 生成2到10的值,包括2和10
即:
Math.floor(Math.random()*(最大值 - 最小值 +1) + 最小值);//随机生成[n,m]的随机整数

  

13、数组扁平化

function flat(arr){
let newArr = [];
let len = arr.length
for(let i=0;i<len;i++){
if (Array.isArray(arr[i])) {
newArr = newArr.concat(flat(arr[i]));
}else{
newArr.push(arr[i])
}
   }
return newArr
}
let arr = [1,2,[3,4,[5,6],7],8,9];
console.log(flat(arr))

待续。。。

最新文章

  1. Leetcode Median of Two Sorted Arrays
  2. [MFC] MFC 用mciSendString加载WAV资源文件
  3. Javascript 统计复选框选中个数
  4. virutalbox虚拟机硬盘扩容
  5. SVN与TortoiseSVN实战:属性的奇技淫巧(二)
  6. 【ILSpy反编译】C# 写的程序反编译查看是不是也太容易了点吧,太恐怖了。。。
  7. [051] 微信公众平台开发教程第22篇-怎样保证access_token长期有效
  8. 【BZOJ】【3143】【HNOI2013】游走
  9. Linq JsRender
  10. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(46)-工作流设计-设计分支
  11. cpp(第十三章)
  12. Java基础语法&lt;九&gt; 接口与内部类
  13. 谈谈关键字new
  14. WPF ”真正的“高仿QQ
  15. redo/declare/typeset
  16. Offset Management For Apache Kafka With Apache Spark Streaming
  17. [BOI2004]Sequence 数字序列(左偏树)
  18. POJ 3984 - 迷宫问题 - [BFS水题]
  19. Luogu P1892 P1525 团伙 关押罪犯
  20. &#39;pip&#39; 不是内部或外部命令

热门文章

  1. 一起做RGB-D SLAM (3)
  2. Call to undefined function Think\C()
  3. zrender源码分析--初探如何画一个圆
  4. Reconstruction(三维重建)文件被修改
  5. python文件操作os模块
  6. opencv——通过面积筛选最大轮廓,并求凸包矩形的长和宽
  7. java状态模式
  8. BeginInvoke &amp; Invoke
  9. SPOJ distinct subtrings
  10. LAYABOX 开发遇到的问题记录