js把相同的编号删除,只留一个,如何写
js把相同的编号删除,只留一个,怎么写
有一组数组,里面存放的数据是TY20150112001
TY20150112002
TY20150112002
TY20150112006
TY20150112006
TY20150112006
TY20150112008
TY20150112009
TY20150112015
TY20150112015
TY20150112015
TY20150112016
TY20150112016
TY20150112016
TY20150112019
TY20150112020
TY20150112022
TY20150112023
TY20150112024
TY20150112025
TY20150112026
TY20150112027
TY20150112029
TY20150112029
TY20150112029
TY20150112030
TY20150112030
TY20150112030
TY20150112034
TY20150112034
TY20150112034
TY20150112035
TY20150112035
TY20150112035
TY20150112037
TY20150112038
TY20150112038,通过js操作要把里面相同的去掉,要留下一个,由于它们是连续二个相同或者连续三个相同,这个js编写出来后,能满足把相同的去掉,但是不管是连续二个相同还是连续三个相同,还是全部都 连续二个相同,都要适用。谢谢。
------解决思路----------------------
var a=[1,1,2,1,2,1,3,3,1,2,2];
var d={};
for(var i=0;i<a.length;i++)d[a[i]]=1;
var r=[];
for(var i in d)r.push(i);
alert(r)
------解决思路----------------------
不就循环一次么?判断是否与前一个相同,不相同的就添加到新数组中,更新变量……
------解决思路----------------------
正则。。前提是你相同的数据必须是连一起的,否则要排序下
http://ask.****.net/questions/161681
------解决思路----------------------
和你怎么排序没有关系
------解决思路----------------------
有一组数组,里面存放的数据是TY20150112001
TY20150112002
TY20150112002
TY20150112006
TY20150112006
TY20150112006
TY20150112008
TY20150112009
TY20150112015
TY20150112015
TY20150112015
TY20150112016
TY20150112016
TY20150112016
TY20150112019
TY20150112020
TY20150112022
TY20150112023
TY20150112024
TY20150112025
TY20150112026
TY20150112027
TY20150112029
TY20150112029
TY20150112029
TY20150112030
TY20150112030
TY20150112030
TY20150112034
TY20150112034
TY20150112034
TY20150112035
TY20150112035
TY20150112035
TY20150112037
TY20150112038
TY20150112038,通过js操作要把里面相同的去掉,要留下一个,由于它们是连续二个相同或者连续三个相同,这个js编写出来后,能满足把相同的去掉,但是不管是连续二个相同还是连续三个相同,还是全部都 连续二个相同,都要适用。谢谢。
------解决思路----------------------
var a=[1,1,2,1,2,1,3,3,1,2,2];
var d={};
for(var i=0;i<a.length;i++)d[a[i]]=1;
var r=[];
for(var i in d)r.push(i);
alert(r)
------解决思路----------------------
不就循环一次么?判断是否与前一个相同,不相同的就添加到新数组中,更新变量……
var arr = ['TY20150112001', 'TY20150112002', 'TY20150112002', 'TY20150112006', 'TY20150112006', 'TY20150112006', 'TY20150112008', 'TY20150112009', 'TY20150112015', 'TY20150112015', 'TY20150112015', 'TY20150112016', 'TY20150112016', 'TY20150112016', 'TY20150112019', 'TY20150112020', 'TY20150112022', 'TY20150112023', 'TY20150112024', 'TY20150112025', 'TY20150112026', 'TY20150112027', 'TY20150112029', 'TY20150112029', 'TY20150112029', 'TY20150112030', 'TY20150112030', 'TY20150112030', 'TY20150112034', 'TY20150112034', 'TY20150112034', 'TY20150112035', 'TY20150112035', 'TY20150112035', 'TY20150112037', 'TY20150112038', 'TY20150112038'];
var out = [];
var temp = "";
for (var i = 0; i < arr.length; i++) {
if (temp != arr[i]) {
temp = arr[i];
out.push(temp);
}
}
alert(out);
------解决思路----------------------
正则。。前提是你相同的数据必须是连一起的,否则要排序下
http://ask.****.net/questions/161681
<textarea id="ta">TY20150112001
TY20150112002
TY20150112002
TY20150112006
TY20150112006
TY20150112006
TY20150112008
TY20150112009
TY20150112015
TY20150112015
TY20150112015
TY20150112016
TY20150112016
TY20150112016
TY20150112019
TY20150112020
TY20150112022
TY20150112023
TY20150112024
TY20150112025
TY20150112026
TY20150112027
TY20150112029
TY20150112029
TY20150112029
TY20150112030
TY20150112030
TY20150112030
TY20150112034
TY20150112034
TY20150112034
TY20150112035
TY20150112035
TY20150112035
TY20150112037
TY20150112038
TY20150112038</textarea>
<script>
var ta=document.getElementById('ta'),arr =ta.value.replace(/\r/g,'').split('\n');
var s=arr.join(',')+',';
arr = s.replace(/(TY\d+,)\1+/g, '$1').replace(/,$/, '').split(',');
ta.value = arr.join('\n');
</script>
------解决思路----------------------
和你怎么排序没有关系
------解决思路----------------------
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<input type="button" value="删除重复行" onclick="xxxx();" />
<table id="tb1" border="1">
<tr>
<td>TY20150112001</td>
</tr>
<tr>
<td>TY20150112002</td>
</tr>
<tr>
<td>TY20150112002</td>
</tr>
<tr>
<td>TY20150112006</td>
</tr>
<tr>
<td>TY20150112006</td>
</tr>
<tr>
<td>TY20150112006</td>
</tr>
<tr>
<td>TY20150112008</td>
</tr>
<tr>
<td>TY20150112009</td>
</tr>
<tr>
<td>TY20150112015</td>
</tr>
<tr>
<td>TY20150112015</td>
</tr>
<tr>
<td>TY20150112015</td>
</tr>
<tr>
<td>TY20150112016</td>
</tr>
<tr>
<td>TY20150112016</td>
</tr>
<tr>
<td>TY20150112016</td>
</tr>
<tr>
<td>TY20150112019</td>
</tr>
<tr>
<td>TY20150112020</td>
</tr>
<tr>
<td>TY20150112022</td>
</tr>
<tr>
<td>TY20150112023</td>
</tr>
<tr>
<td>TY20150112024</td>
</tr>
<tr>
<td>TY20150112025</td>
</tr>
<tr>
<td>TY20150112026</td>
</tr>
<tr>
<td>TY20150112027</td>
</tr>
<tr>
<td>TY20150112029</td>
</tr>
<tr>
<td>TY20150112029</td>
</tr>
<tr>
<td>TY20150112029</td>
</tr>
<tr>
<td>TY20150112030</td>
</tr>
<tr>
<td>TY20150112030</td>
</tr>
<tr>
<td>TY20150112030</td>
</tr>
<tr>
<td>TY20150112034</td>
</tr>
<tr>
<td>TY20150112034</td>
</tr>
<tr>
<td>TY20150112034</td>
</tr>
<tr>
<td>TY20150112035</td>
</tr>
<tr>
<td>TY20150112035</td>
</tr>
<tr>
<td>TY20150112035</td>
</tr>
<tr>
<td>TY20150112037</td>
</tr>
<tr>
<td>TY20150112038</td>
</tr>
<tr>
<td>TY20150112038</td>
</tr>
</table>
</body>
</html>
<script type="text/javascript">
function xxxx() {
var tb = document.getElementById('tb1');
var l = tb.rows.length;
var temp = tb.rows[l - 1].cells[0].innerText;
for (var i = l-2; i >= 0; i--) {
if (tb.rows[i].cells[0].innerText == temp) {
tb.rows[i].parentNode.removeChild(tb.rows[i]);
} else {
temp = tb.rows[i].cells[0].innerText;
}
}
}
</script>