110,571
社区成员
发帖
与我相关
我的任务
分享
var dataBF = [];
dataBF.push(1);
dataBF.push(3);
dataBF.push(5);
dataBF.push(7);
dataBF.push(9);
var Str="1,2,4,5,7,8,9"
有什么好方法 越简单越好 取得他们两个的所有值,去掉重复的。
结果应该为:"1,2,3,4,5,7,8,9"
[code=javascript]dataBF.concat(Str.split(',')).Distinct().sort().join(',');
Array.prototype.Distinct=function(GetValue)
{
for(var Value=[],Hash={},Index=-1;++Index-this.length;)
{
var HashValue=GetValue?GetValue(this[Index]):this[Index];
if(!Hash[HashValue])
{
Hash[HashValue]=1;
Value.push(HashValue);
}
}
return Value;
};
[/code]dataBF.concat(Str.split(',')).Distinct().sort().join(',');Array.prototype.Distinct=function(GetValue)
{
for(var Value=[],Hash={},Index=-1;++Index-this.length;)
{
var HashValue=GetValue?GetValue(this[Index]):this[Index];
if(!Hash[HashValue])
{
Hash[HashValue]=1;
Value.push(HashValue);
}
}
return Value;
};
/// 去除重复
/// </summary>
/// <param name="myData"></param>
/// <returns>无重复</returns>
private String[] RemoveDup(String[] myData)
{
if (myData.Length > 0)
{
Array.Sort(myData);
int size = 1; //at least 1
for (int i = 1; i < myData.Length; i++)
if (myData[i] != myData[i - 1])
size++;
String[] myTempData = new String[size];
int j = 0;
myTempData[j++] = myData[0];
for (int i = 1; i < myData.Length; i++)
if (myData[i] != myData[i - 1])
myTempData[j++] = myData[i];
return myTempData;
}
return myData;
}