js代码实现代码

js代码实现代码
本文的主要目的是帮助你熟悉几个常用的算法与JS的实施,主要包括以下几个方面

(1)阵列减量

原理:定义一个对象,然后使用数组元素作为对象的属性名称,并确定属性名称重复或不。
VaR独特=功能(ARR){
让obj = { };
让newarr = { };
arr.foreach(函数(x){)
(如果!obj {X}){ / /如果对象不在相应的属性的元素
obj {X} =真;
NewArr.push(X);
}
});
返回newarr;
}
(2)通过快速排序算法对数组进行排序。

这有两个作用,一个是利用快行的特性来实现快速放电,另一个是快速的不称重的行。

原则:获取目标数组,选择一个元素最有标记的位,遍历剩余的元素,把右边的标记位大于左边的标记位。

特别注意:有一些元素相当于标志位。如果你储存相同的元素,你就会意识到减肥的效果。如果你储存它,你就不用称它了。
无功快速排序=功能(ARR){

如果(arr.length <= 1){
报酬;
}

左/右数组的定义,定义一个数组
让leftarr = { };
让rightarr = { };
选择一个引用值
让标签= ARR { 0 };

*
*用下面的方法判断,将删除重复元素,并同时实现快速行。
* /
为了(让我= 0;i < arr.length;i++){
如果(ARR {我} <标签){ / /将小于数组中左侧的标签元素
LeftArr.push(ARR {我});
}
如果(ARR {我} >标签){ / /将大于阵列中正确的标记元素
RightArr.push(ARR {我});
}
}

*
*下面的方法是使用快速行排序,而不是称重。
* /
为了(让我= 1;i < arr.length;i++){
如果(ARR {我} <标签){ / /将小于数组中左侧的标签元素
LeftArr.push(ARR {我});
否则,大于数组右边的标记元素
RightArr.push(ARR {我});
}
}

递归调用
返回{ } .concat(快速排序(leftarr),{标签},快速排序(rightarr));
}
(3)统计字符串中字符数最多的字符

原理:这与数组复制相似。它还使用一个对象的属性的数组元素为对象。如果不存在,则将该值赋给1。如果存在,则添加1的值。
无功maxshowtimes =功能(STR){
创建一个重句子的新对象
让obj = { };
以确定字符串是否为空或只有一个元素。
如果(str.length <= 1){
返回str.length = 0'string不能为空:STR;
}
使用字符串(定时) / /方法得到各特征
为了(让我= 0;i < str.length;i++){
如果(!obj { str.charat(我)}){ / /如果它不存在
obj { str.charat(我)} = 1;
}如果存在
obj { str.charat(我)} = 1;
}
}

发现在obj对象的最大值/属性
让maxchar =;
让maxtimes = 0;
(VaR K为OBJ){
如果(obj { k } > maxtimes){
maxchar = K;
maxtimes = obj { k };
}
}
返回maxchar;
}
(4)两个变量的交换值是在第三个变量的帮助下实现的。

原理:是变量代换,思路很巧妙,只能用于交换数字。
var =函数(a,b){
如果(a = b){
返回{,b };
}
b中的a和a是初始值的值。
a = a;b;a;a;a;b;a;;
b = A;B;(a)a(b)a = 2a等于B;a值被赋值给B。
返回{,b };
}
(5)阵列的最大差

原理:遍历数组,找到最大值和最小值,返回差值。
无功getmaxprofit =功能(ARR){
定义两个变量,分别为最大值和最小值
让maxnum = ARR { 0 };
让minnum = ARR { 0 };
为了(让我= 0;i < arr.length;i++){
如果(ARR {我} > maxnum){
maxnum = ARR {我};
}
如果(ARR {我} < minnum){
minnum = ARR {我};
}
}
返回maxnum - minnum;
}
(6)获得任意长度的随机字符串。

原理:你可以手动指定字符库和随机字符长度N,和使用math.floor两方法()和Math.random()来获取随机字符。
无功getrandomstring =功能(N){
定义随机字符串字符库
让'qwertyuiopasdfghjklzxcvbnm1234567890 str =;
存储在TMP生成中的随机字符串/临时变量的定义
让=;
获取该序列的长度。
让str.length len =;
生成一个随机字符串长度n
对于(让i = 0;i <;i + +){
TMP = str.charat(Math.floor(数学。随机)*(LEN));
}
返回TMP;
}
以上是本文的全部内容,希望能对您有所帮助,希望大家多多支持
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部