导航:首页 > 编程语言 > js实现字母排序demo

js实现字母排序demo

发布时间:2023-01-29 18:12:46

js按照开头首字母排序

functionstringSort(str){
if(typeofstr==='string')
str=str.split(',');
if(!Array.isArray(str)){
console.error('参数复类型错制误,必须为数组或以(,)分割的字符串.')
returnstr;
}
str.sort();
returnstr.join();
}
//测试
vartest1=["BB000","AB621","C752B","AC700","D5657"];
console.log(stringSort(test1));
vartest2="BB000,AB621,C752B,AC700,D5657";
console.log(stringSort(test2));

Ⅱ JS,实现表格内容排序

<! HTML>
<html>
<head>
<meta charset="UTF-8" />
<title>main.html</title>
<style type="text/css">
table {
width: 300px; border : 1px solid black;
border-collapse: collapse;
border: 1px solid black;
}

td {
border: 1px solid black;
}
</style>
<script type="text/javascript">
function paiXu ()
{
var tabNode = document.getElementsByTagName ("table")[0];
var trs = tabNode.rows;
var arr = new Array;
for ( var x = 0; x < trs.length; x++)
{
arr.push (trs[x]);
}
sortt (arr);
for ( var x = 0; x < arr.length; x++)
{
tabNode.tBodies[0].appendChild (arr[x]);
}
}

function sortt (arr)
{
for ( var x = 0; x < arr.length; x++)
{
for ( var y = x + 1; y < arr.length; y++)
{
if (parseInt (arr[x].cells[1].childNodes[0].nodeValue) <= parseInt (arr[y].cells[1].childNodes[0].nodeValue))
{
var tmp = arr[x];
arr[x] = arr[y];
arr[y] = tmp;
}
}
}
}
</script>
</head>

<body>
<input type="button" value="排序" onclick="paiXu()">
<table>
<tr>
<td>小明</td>
<td>23</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>小花</td>
<td>21</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>小高</td>
<td>12</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>小林</td>
<td>25</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>小王</td>
<td>35</td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
</body>
</html>

Ⅲ 用JS实现排序的功能

js常用排序实现,参考代码如下

<script>
Array.prototype.swap=function(i,j)
{
vartemp=this[i];
this[i]=this[j];
this[j]=temp;
}

Array.prototype.bubbleSort=function()
{
for(vari=this.length-1;i>0;--i)
{
for(varj=0;j<i;++j)
{
if(this[j]>this[j+1])this.swap(j,j+1);
}
}
}

Array.prototype.selectionSort=function()
{
for(vari=0;i<this.length;++i)
{
varindex=i;
for(varj=i+1;j<this.length;++j)
{
if(this[j]<this[index])index=j;
}
this.swap(i,index);
}
}

Array.prototype.insertionSort=function()
{
for(vari=1;i<this.length;++i)
{
varj=i,value=this[i];
while(j>0&&this[j-1]>value)
{
this[j]=this[j-1];
--j;
}
this[j]=value;
}
}

Array.prototype.shellSort=function()
{
for(varstep=this.length>>1;step>0;step>>=1)
{
for(vari=0;i<step;++i)
{
for(varj=i+step;j<this.length;j+=step)
{
vark=j,value=this[j];
while(k>=step&&this[k-step]>value)
{
this[k]=this[k-step];
k-=step;
}
this[k]=value;
}
}
}
}

Array.prototype.quickSort=function(s,e)
{
if(s==null)s=0;
if(e==null)e=this.length-1;
if(s>=e)return;
this.swap((s+e)>>1,e);
varindex=s-1;
for(vari=s;i<=e;++i)
{
if(this[i]<=this[e])this.swap(i,++index);
}
this.quickSort(s,index-1);
this.quickSort(index+1,e);
}

Array.prototype.stackQuickSort=function()
{
varstack=[0,this.length-1];
while(stack.length>0)
{
vare=stack.pop(),s=stack.pop();
if(s>=e)continue;
this.swap((s+e)>>1,e);
varindex=s-1;
for(vari=s;i<=e;++i)
{
if(this[i]<=this[e])this.swap(i,++index);
}
stack.push(s,index-1,index+1,e);
}
}

Array.prototype.mergeSort=function(s,e,b)
{
if(s==null)s=0;
if(e==null)e=this.length-1;
if(b==null)b=newArray(this.length);
if(s>=e)return;
varm=(s+e)>>1;
this.mergeSort(s,m,b);
this.mergeSort(m+1,e,b);
for(vari=s,j=s,k=m+1;i<=e;++i)
{
b[i]=this[(k>e||j<=m&&this[j]<this[k])?j++:k++];
}
for(vari=s;i<=e;++i)this[i]=b[i];
}

Array.prototype.heapSort=function()
{
for(vari=1;i<this.length;++i)
{
for(varj=i,k=(j-1)>>1;k>=0;j=k,k=(k-1)>>1)
{
if(this[k]>=this[j])break;
this.swap(j,k);
}
}
for(vari=this.length-1;i>0;--i)
{
this.swap(0,i);
for(varj=0,k=(j+1)<<1;k<=i;j=k,k=(k+1)<<1)
{
if(k==i||this[k]<this[k-1])--k;
if(this[k]<=this[j])break;
this.swap(j,k);
}
}
}

functiongenerate()
{
varmax=parseInt(txtMax.value),count=parseInt(txtCount.value);
if(isNaN(max)||isNaN(count))
{
alert("个数和最大值必须是一个整数");
return;
}
vararray=[];
for(vari=0;i<count;++i)array.push(Math.round(Math.random()*max));
txtInput.value=array.join(" ");
txtOutput.value="";
}

functiondemo(type)
{
vararray=txtInput.value==""?[]:txtInput.value.replace().split(" ");
for(vari=0;i<array.length;++i)array[i]=parseInt(array[i]);
vart1=newDate();
eval("array."+type+"Sort()");
vart2=newDate();
lblTime.innerText=t2.valueOf()-t1.valueOf();
txtOutput.value=array.join(" ");
}
</script>

<bodyonload=generate()>
<tablestyle="width:100%;height:100%;font-size:12px;font-family:宋体">
<tr>
<tdalign=right>
<textareaid=txtInputreadonlystyle="width:100px;height:100%"></textarea>
</td>
<tdwidth=150align=center>
随机数个数<inputid=txtCountvalue=500style="width:50px"><br><br>
最大随机数<inputid=txtMaxvalue=1000style="width:50px"><br><br>
<buttononclick=generate()>重新生成</button><br><br><br><br>
耗时(毫秒):<labelid=lblTime></label><br><br><br><br>
<buttononclick=demo("bubble")>冒泡排序</button><br><br>
<buttononclick=demo("selection")>选择排序</button><br><br>
<buttononclick=demo("insertion")>插入排序</button><br><br>
<buttononclick=demo("shell")>谢尔排序</button><br><br>
<buttononclick=demo("quick")>快速排序(递归)</button><br><br>
<buttononclick=demo("stackQuick")>快速排序(堆栈)</button><br><br>
<buttononclick=demo("merge")>归并排序</button><br><br>
<buttononclick=demo("heap")>堆排序</button><br><br>
</td>
<tdalign=left>
<textareaid=txtOutputreadonlystyle="width:100px;height:100%"></textarea>
</td>
</tr>
</table>
</body>

Ⅳ 字母排序js sort

先将字母塞到数组里,然后调用sort方法便好。
let arr = ['c','a', 'b']
arr.sort()

Ⅳ jquery或javascipte实现标签内文字按拼音首字母排序

jq:

varwrap=$('div');

varhtml=
wrap.find('a')
.map(function(){//获取文字
return$.trim($(this).text())
})
.toArray()//转换jq为数组
.sort(function(a,b){
returna.localeCompare(b)//按照顺序排序
})
.map(function(txt){//拼接html
return'<a>'+txt+'</a>';
})
.join('');

wrap.html(html);//输出


js:
functiontoArray(nodes){
return[].slice.call(nodes,0);
}

varwrap=document.querySelector('div');
varlinks=wrap.querySelectorAll('a');
varhtml=
toArray(links)
.map(function(el,i){//读取文字
return(el.innerText||el.textContent).trim();
})
.sort(function(a,b){
returna.localeCompare(b)//按照顺序排序
})
.map(function(txt){//组合html
return'<a>'+txt+'</a>';
})
.join('');

wrap.innerHtml=html;//输出

Ⅵ JS实现首字母排序

一个按照姓名首字母排序的功能,支持数字,字母,符号,中文混合排序

Ⅶ js怎么用sort把数组里面的英文进行首字母排序,如图,搞不懂这一行代码,小白,求大佬。

harCodeAt(0) 方法返回字符串第一个字符的 Unicode 编码。
sort()方法传入的是一个函数,函内数有两个参数容(pre,next)(参数名可以任意),依次传入数组中的两个元素,如果返回值小于0,则排序后pre排在next前面,

Ⅷ javascript中文按照拼音首字母排序,如何实现

中文拼音排序一直都是很有趣的一个问题。推荐使用这个函数 String.prototype.localeCompare(),链接 MDN。首先用 localeCompare 试下拼音排序

var array = ['武汉', '北京', '上海', '天津'];

array.sort(

function compareFunction(param1, param2) {

return param1.localeCompare(param2);

}

);

array // ["北京", "上海", "天津", "武汉"]

然后根据 26 个英文字母分组排序,函数如下,

function pySegSort(arr) {

if(!String.prototype.localeCompare)

return null;

var letters = "*abcdefghjklmnopqrstwxyz".split('');

var zh = "阿八嚓哒妸发旮哈讥咔垃痳拏噢妑七呥扨它穵夕丫帀".split('');

var segs = [];

var curr;

letters.forEach(function(item,i){

curr = {letter: item, data:[]};

arr.forEach(function(item2){

if((!zh[i-1] || zh[i-1].localeCompare(item2) <= 0) && item2.localeCompare(zh[i]) == -1) {

curr.data.push(item2);

}

});

if(curr.data.length) {

segs.push(curr);

curr.data.sort(function(a,b){

return a.localeCompare(b);

});

}

});

return segs;

}

测试:

pySegSort(["我","不","懂","爱","啊","按","已","呀","选","县"])

结果:

[{"letter":"a","data":["啊","爱","按"]},{"letter":"b","data":["不"]},{"letter":"d","data":["懂"]},{"letter":"w","data":["我"]},{"letter":"x","data":["县","选"]},{"letter":"y","data":["呀","已"]}]

Ⅸ js 怎么把字符串组 按顺序a-z,A-Z,0-9,的顺序排列

<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01//EN""
">
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=gbk">
<title>UntitledDocument</title>
<script>
window.onload=function(){
vara="1我来a2你b3他d";//要排序的字符串a
varb=a.split("");//分割源字符串a为数组b
b.sort();//数组b升序排序(系统自带的方法)
varc=b.join("");//把数组b每个元素连接成字符串c
alert(c);//输出最终排序好的字符串
}
</script>
</head>
<body>
</body>
</html>

整个过程注释写得很清楚了,希望对你有帮助

Ⅹ 有10个字母,如何用JS把A、B、C、D、E、F、G、H、I、J、 这10个字母随机组成5个为一组的两组排序。

首先随机数会把
然后一个for循环
每次循环的时候随机一个数
当这个随机数大于0.5的时候将当前字母放入a数组
当这个随机数小与0.5的时候将当前字母放人b数组
//升级
先将上面10个字母编号
然后然后生成随机数将上面的字母随机排序(出现过的重新随机)
然后再执行上面的for循环

阅读全文

与js实现字母排序demo相关的资料

热点内容
照片文件名中的数字代表什么 浏览:44
cs6裁切工具 浏览:235
数据库超过多少数据会卡 浏览:858
CAD落图文件 浏览:125
怎样翻译文件内容 浏览:679
戴尔r910安装linux 浏览:69
有线电视升级失败 浏览:560
火绒安全把文件删掉了在哪里找 浏览:503
手机qq网络状态方框 浏览:225
哪里有文件纸袋 浏览:873
复制的东西能不能粘贴到空文件夹 浏览:876
酒店没有网络如何缴费 浏览:380
win10开机滚动很久 浏览:520
可对元数据实例进行的操作有什么 浏览:934
什么后缀的文件kit 浏览:295
word行书字体库下载 浏览:579
iosuc版本历史版本 浏览:14
电影字幕文件制作软件 浏览:723
windows10免密码登录 浏览:762
iphone5s跑步记步 浏览:978

友情链接