如何删除数组里面多余的重复项?
最好能简练点。
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
var array=[
"hello",
"word",
"you",
"me",
"hello", // 重复了 ,删掉
"you", // 重复了 ,删掉
"boy"
]
// 怎样简化数组,把里面多余的重复项删除
</script>
最好能简练点。
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
var array=[
"hello",
"word",
"you",
"me",
"hello", // 重复了 ,删掉
"you", // 重复了 ,删掉
"boy"
]
// 怎样简化数组,把里面多余的重复项删除
</script>
解决方案 »
- 怎样给div设置真正的false?
- JS版连连看(这年头这么多用JS写怀旧小游戏的,俺也赶流行发一个)
- 各位,推荐几本Javascript方面的书籍
- javascript array splice apply的问题,,很怪,不怎么能理解?????????????
- 请问在一个htm文件中如何用JS动态修改<head></head>里的<title>等属性
- 如何通过javascript将select的选项中的名称取出来?急!
- window.close()
- 简单问题,来抢分啊!!!
- 怎样自定义一个弹出窗口,使其得到用户确认后才关闭,否则始终处于最前方?
- 根据数值,按百分比显示星星宽度(求帮忙,急!!!)
- 如何为div动态滴设置onclick事件。
- javascript 大虾指教
一. YUI中的源码
var toObject = function(a) {
var o = {};
for (var i=0, j=a.length; i<j; i=i+1) { // 这里我调整了下, YUI源码中是i<a.length
o[a[i]] = true;
}
return o;
};
var keys = function(o) {
var a=[], i;
for (i in o) {
if (o.hasOwnProperty(i)) { // 这里, YUI源码中是lang.hasOwnProperty(o, i)
a.push(i);
}
}
return a;
};
var uniq = function(a) {
return keys(toObject(a));
};
var array=[
"hello",
"word",
"you",
"me",
"hello", // 重复了 ,删掉
"you", // 重复了 ,删掉
"boy"
]
for(var i=0,len=array.length;i<len;i++){
for(var j=i+1;j<len;j++){
if(array[j]===array[i]) array.splice(j,1)
}
}
for(var i=0,len=array.length;i<len;i++) document.write(array[i]+',')比较原始的办法
yui看不懂
"hello",
"word",
"you",
"me",
"hello", // 重复了 ,删掉
"you", // 重复了 ,删掉
"boy"
]
for(var i=0;i<(len=array.length);i++){
for(var j=i+1;j<len;j++){
if(array[j]===array[i]) array.splice(j,1)
}
}
for(var i=0,len=array.length;i<len;i++) document.write(array[i]+',')
Array.prototype.distinct = function(){
var newArray=[];
var provisionalTable = {};
for (var i = 0, item; (item= this[i]) != null; i++ ) {
if (!provisionalTable[item]) {
newArray.push(item);
provisionalTable[item] = true;
}
}
return newArray;
}