Ⅰ 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循环