要实现的功能:在输入框输入 01 02 12 20 这样的两位数字按“排序”按钮对数字进行如下计算:(比如输入:01 02 03 04 05 06)02-01 03-01 03-02 04-01 04-02 04-03 05-01 05-02 05-03 05-04 06-01 06-02 06-03 06-04 06-05执行完上面的方法后会得到15个数字结果把上面的结果显示在另一个输入框内 按数字大小排序 并且去掉重复的数字按“相同”按钮得到这15个数字钟相同的数字并显示在输入框内按“复制”按钮复制结果到剪切板上要求:输出的结果 按数字大小排序 而且数字格式是 01 02 03 04 这样的两位数字举例说明:
比如上面数字运算的结果: 01 02 01 03 02 01 04 03 02 01 05 04 03 02 01
按“排序”要去掉15个数字中多余相同的:01 02 03 04 05
按“相同”显示15个数字中相同的:01 02 03 04
基础代码:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
</style>
<script>
</script>
</head>
<body></br>
<form>
<table border=1>
<input type="hidden" id="numId" size=75>
<tr><td>输入数字: <input type="text" id="" size=75>
<input type="button" value="清除" onclick="" />
</td></tr>
<tr><td>排序结果: <input type="text" disabled id="" size=75>
<input type="button" value="清除" onclick="" />
</td></tr>
<tr>
<td align=center>
<input type="button" value="相同" onclick="">
<input type="button" value="排序" onclick="">
<input type="button" value="复制" onclick="">
</td>
</tr>
</table>
</form>
</body>
排序
比如上面数字运算的结果: 01 02 01 03 02 01 04 03 02 01 05 04 03 02 01
按“排序”要去掉15个数字中多余相同的:01 02 03 04 05
按“相同”显示15个数字中相同的:01 02 03 04
基础代码:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
</style>
<script>
</script>
</head>
<body></br>
<form>
<table border=1>
<input type="hidden" id="numId" size=75>
<tr><td>输入数字: <input type="text" id="" size=75>
<input type="button" value="清除" onclick="" />
</td></tr>
<tr><td>排序结果: <input type="text" disabled id="" size=75>
<input type="button" value="清除" onclick="" />
</td></tr>
<tr>
<td align=center>
<input type="button" value="相同" onclick="">
<input type="button" value="排序" onclick="">
<input type="button" value="复制" onclick="">
</td>
</tr>
</table>
</form>
</body>
排序
解决方案 »
- 大量统计表格类似excel,用extjs还是jquery的表格插件好
- html + javascript
- javascript发送二进制数据
- 这个问题我没有思路,大家给指点一下。
- 我在jsp文件中引入.js文件莫名其妙的出现错误.请大家帮帮我谢谢了.
- 有没有在form提交完后客户端触发一个事件?
- 各位好!问个弱弱的问题...
- ==========看看我这个程序,为什么不行?================
- 老大(net_lover),还有一个关于checkbox问题
- DWZ点击节点时,报404错,a标签里不能写.do?
- 谁能告诉我,《JavaScript高级程序设计(第4版)》什么时候出来啊?
- js设置applet图形宽高在chrome无效
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
var a=['01','02','03','05','04'];
function sorts(){
a=a.sort();
document.getElementById("test").innerHTML=a;
}
function same(){
var ax=[];
for(var i=a.length-1;i>=0;i--){
for(var j=i-1;j>=0;j--){
var x=a[i]-a[j];
ax[x]=x;
}
}
ax=ax.sort();
document.getElementById("test").innerHTML=ax;
}
</script>
</head><body>
<input type="button" onclick="sorts()" value="排序">
<input type="button" onclick="same()" value="找出不同">
<div id="test"></div>
</body>
</html>类似这样试试
<input type="text" id="txtInput" /><br />
<button type="button" id="btnSort">排序</button>
<button type="button" id="btnRepeat">取有重复的</button>
<script type="text/javascript">
function getData(){
var value = document.getElementById("txtInput").value;
value = value.replace(/^\s+|\s+$/g,"").replace(/\s{2,}/g," ");
return value.split(" ");
}
function sort(){
return getData().sort();
}
function getRepeat(){
var arr = sort();
var dic = {},repeat = [],value;
for(var i=1;i<arr.length;i++){
for(var j=0;j<i;j++){
value = arr[i] - arr[j];
dic[value] = value;
}
}
for(var v in dic){
for(var i=0;i<arr.length;i++){
if(v == Number(arr[i])){
repeat.push(arr[i]);
}
}
}
return repeat;
}
var btnSort = document.getElementById("btnSort"),
btnRepeat = document.getElementById("btnRepeat");
btnSort.onclick = function(){
var arr = sort();
alert(arr.join(","));
}
btnRepeat.onclick = function(){
var repeat = getRepeat();
alert(repeat.join(","));
}
</script>
<HTML>
<HEAD>
<TITLE> 排序 </TITLE>
</HEAD> <BODY>
<INPUT TYPE="text" id="inp" value="01 02 03 04 05 06">
<input type="button" onclick="count(inp)" value="执行">
<BR>
排序:<span id="div_sort"></span>
<BR>
相同:<span id="div_same"></span><script type="text/javascript">
var rst, sort_rst, same_rst;function count(obj){
//检查输入数据是否为两组或以上的2位数字
var reg = /^\d{2}(\s\d{2})+$/;
if ( !reg.test(obj.value) ) {
alert("请检查输入数据!");
obj.select();
return;
}
//定义
rst = new Array();
sort_rst = new Array();
same_rst = new Array();
var member = obj.value.split(" ");
//计算
for (var i=1; i<member.length; i++) for (var j=0; j<i; j++) rst[rst.length] = parseInt(member[i], 10) - parseInt(member[j], 10);
//alert(rst);
//组织排序数据和相同数据的数组
for (var i=0; i<rst.length; i++)
{
if (!(rst[i] in sort_rst)) sort_rst[sort_rst.length] = rst[i];
else if (!(rst[i] in same_rst)) same_rst[same_rst.length] = rst[i];
}
//两个数组中数据不足两位补“0”(负数未处理)
for (var i=0; i<sort_rst.length; i++) {
if (sort_rst[i]>=0 && sort_rst[i]<10) sort_rst[i] = "0" + sort_rst[i].toString();
else sort_rst[i] = sort_rst[i].toString();
}
for (var i=0; i<same_rst.length; i++) {
if (same_rst[i]>=0 && same_rst[i]<10) same_rst[i] = "0" + same_rst[i].toString();
else same_rst[i] = same_rst[i].toString();
}
//显示排序后并用空格分隔的数字
document.getElementById("div_sort").innerHTML = sort_rst.sort().join(" ");
document.getElementById("div_same").innerHTML = same_rst.sort().join(" ");
}
</script> </BODY>
</HTML>
正是我需要的结果啊