JavaScript重复,JavaScript重复字符串

js 中如何去掉数组中的重复的数据

可以使用js的for循环筛选实现去掉数组中的重复的数据。

创新互联主要从事网站设计制作、成都网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务利通,十余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792

具体步骤如下:

需要准备的材料分别是:电脑、浏览器、ultraedit。

1、在ue编辑器中新建一个空白的html文件,js文件。

2、在ue编辑器中输入以下html代码。

3、在ue编辑器中输入以下js代码。

4、编辑完成以后,在ue编辑器中点击保存,格式选择UTF8无BOM。

5、在浏览器中打开此html文件,可以看到最终想要实现的去掉数组中的重复的数据效果。

JavaScript几种数组去掉重复值的方法推荐

数组去重复是一个常见的需求,我们暂时考虑同类型的数组去重复。主要是理清思路和考虑下性能。以下方法,网上基本都有,这里只是简单地总结一下。

思路:

1.遍历数组,一一比较,比较到相同的就删除后面的

2.遍历数组,一一比较,比较到相同的,跳过前面重复的,不相同的放入新数组

3.任取一个数组元素放入新数组,遍历剩下的数组元素任取一个,与新数组的元素一一比较,如果有不同的,放入新数组。

4.遍历数组,取一个元素,作为对象的属性,判断属性是否存在

1.

删除后面重复的:

function

ov1(arr){

//var

a1=((new

Date).getTime())

for(var

i=0;iarr.length;i++)

for(var

j=i+1;jarr.length;j++)

if(arr[i]===arr[j]){arr.splice(j,1);j--;}

//console.info((new

Date).getTime()-a1)

return

arr.sort(function(a,b){return

a-b});

}

2.

这个是常规的方法,比较好理解,如果相同则跳出循环

function

ov2(a)

{

//var

a1=((new

Date).getTime())

var

b

=

[],

n

=

a.length,

i,

j;

for

(i

=

0;

i

n;

i++)

{

for

(j

=

i

+

1;

j

n;

j++)

if

(a[i]

===

a[j]){j=false;break;}

if(j)b.push(a[i]);

}

//console.info((new

Date).getTime()-a1)

return

b.sort(function(a,b){return

a-b});

}

3.

这个我花了好长时间明白的,这里j循环虽然继续了,但是i值已经改变了。就等于是一个新的i循环:

function

ov3(a)

{

//var

a1=((new

Date).getTime())

var

b

=

[],

n

=

a.length,

i,

j;

for

(i

=

0;

i

n;

i++)

{

for

(j

=

i

+

1;

j

n;

j++)

if

(a[i]

===

a[j])j=++i

b.push(a[i]);}

//console.info((new

Date).getTime()-a1)

return

b.sort(function(a,b){return

a-b});

}

4.

保证新数组中的都是唯一的

function

ov4(ar){

//var

a1=((new

Date).getTime())

var

m=[],f;

for(var

i=0;iar.length;i++){

f=true;

for(var

j=0;jm.length;j++)

if(ar[i]===m[j]){f=false;break;};

if(f)m.push(ar[i])}

//console.info((new

Date).getTime()-a1)

return

m.sort(function(a,b){return

a-b});

}

5.

用对象属性

function

ov5(ar){

//

var

a1=(new

Date).getTime()

var

m,n=[],o=

{};

for

(var

i=0;(m=

ar[i])!==undefined;i++)

if

(!o[m]){n.push(m);o[m]=true;}

//

console.info((new

Date).getTime()-a1)

return

n.sort(function(a,b){return

a-b});;

}

以上这篇JavaScript几种数组去掉重复值的方法推荐就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

js判断数组中是否有重复值得三种方法

JS判断一个数组中是否有重复值的三种方法

方法一:

//将数组转换成字符串,遍历数组,移除一个元素後若还能找到该元素,那么这个元素就是重复的

var s = ary.join(",")+",";

for(var i=0;iary.length;i++) {

if(s.replace(ary[i]+",","").indexOf(ary[i]+",")-1) {

alert("数组中有重复元素:" + ary[i]);

break;

}

}

方法二:

//对数组进行排序,查上一个和下一个是否相等

var ary = new Array("111","22","33","111");

var nary=ary.sort();

for(var i=0;iary.length;i++){

if (nary[i]==nary[i+1]){

alert("数组重复内容:"+nary[i]);

}

}

方法三:

//以数组值为键,持续向一个对象里面加值,

//如果在加值之前就发现这个属性在对象中已经存在,那么他就是重复的

function isRepeat(arr){

var hash = {};

for(var i in arr) {

if(hash[arr[i]])

return true;

hash[arr[i]] = true;

}

return false;

}

以上是简单类型数据数组的重复校验方法,若数组的元素为对象,处理方式就需要变化一下,取关键属性作为依据

如何判断JavaScript 数组含有重复值

avascript判断一个数组中是否有重复值的三种方法:

判断重复方法一,转为字符串 进行比较:

var ary = new Array("aaa","cc","dd","aaa");

var s = ary.join(",")+",";

for(var i=0;iary.length;i++) {

if(s.replace(ary[i]+",","").indexOf(ary[i]+",")-1) {

alert("数组中有重复元素:" + ary[i]);

break;

}

}

判断重复方法二,数组排序,再比较相邻的值:

var ary = new Array("bbb","cc","dd","bbb");

var nary=ary.sort();

for(var i=0;iary.length;i++){

if (nary[i]==nary[i+1]){

alert("数组重复内容为:"+nary[i]);

}

}

判断重复方法三,自定义函数方法判断重复:

function isRepeat(arr){

var hash = {};

for(var i in arr) {

if(hash[arr[i]])

return true;

hash[arr[i]] = true;

}

return false;

}


网站题目:JavaScript重复,JavaScript重复字符串
文章源于:http://ybzwz.com/article/dsicego.html