Javascript数组权重是常见的需求。有许多方法可以解决这个问题。我们可以在网上找到答案。这里有一种复制相同类型数组的方法。让我给你介绍以下简单的想法。

思想:

通过数组,逐一比较,然后删除相同的数组。



通过数组,比较一个一个,比较相同的,跳过前面的重复,并把相同的放到新数组中。



将数组元素带到一个新数组中,遍历剩余的数组元素,取一个数组,与新数组的元素进行比较,如果存在差异,则将新数组放到数组中。



遍历数组,将元素作为对象的属性来确定属性是否存在。

1。删除以下重复:


功能OV(ARR){
/ / var a =((新日期)。GetTime())
对于(var i =;i < arr.length;i++)
对于(var j = i +;J < arr.length;j++)
如果(ARR {我} = = = ARR { J }){ arr.splice(J,J;});
/ / console.info((新日期)。GetTime()-)
返回arr.sort(功能(A,B){ return A-B });
}


2。这是一种常规方法,更好地理解,如果同样的方法脱离循环。


功能表(一){
/ / var a =((新日期)。GetTime())
var b = { },N = a.length,I,J;
对于(i =;i <;n;+ +){
为(J = I +;J<n;j++)
如果(一个{ = =一个)} = false;;
如果(J)b.push(一个{我});
}
/ / console.info((新日期)。GetTime()-)
返回b.sort(功能(A,B){ return A-B });
}


三.我花了很长时间才知道J循环在继续,但i值已经改变了,这是一个新的循环:


功能表(一){
/ / var a =((新日期)。GetTime())
var b = { },N = a.length,I,J;
对于(i =;i <;n;+ +){
为(J = I +;J<n;j++)
如果({ = })
B.push(一个{我});}
/ / console.info((新日期)。GetTime()-)
返回b.sort(功能(A,B){ return A-B });
}


4。确保所有新数组都是唯一的。


功能区(AR){
/ / var a =((新日期)。GetTime())
var m={,};
对于(var i =;i < ar.length;i++){
f=真;
对于(var j =;J < m.length;j++)
如果(i = M = }){ = false;中断;};
如果(F)m.push(AR {我})}
/ / console.info((新日期)。GetTime()-)
返回m.sort(功能(A,B){ return A-B });
}


5。对象的属性


功能区(AR){
无功/ =(新日期)(的时间)
var;
对于(var i =;(m = AR })!=未定义的;+ +)
如果(!O {米}){ n.push(M);o m } =真{;}
/ / console.info(的时间)(新)(一)
返回n.sort(功能(A,B){ return A-B });
}


Javascript数组对象的3个属性

1,长度属性

长度属性表示数组的长度,在它的元素的个数。因为数组的索引总是开始0,数组的上下界:分别为0和length-1,不像大多数其他语言,对Javascript数组的长度属性是可变的,这一点需要特别注意,当长度属性设置较大,整个阵列的状态不会改变,事实上,只有长度属性变大。当长度属性被设置为小于原始值时,其索引大于或等于原始数组中长度的元素的值都将丢失。

var arr = { 12,23,5,3,25,98,76,54,56,76 };

定义10个数字数组

警报(arr.length); / /显示数组的长度10

arr.length = 12; / /增加数组的长度

警报(arr.length); / /显示数组的长度改为12

警报(ARR { 8 }); / /显示第九个元素的值,56

arr.length = 5; / /数组的长度减少5,该指数等于或大于5的元素被丢弃

警报(ARR { 8 }); / /第九行显示已变为未定义的

arr.length = 10; / /数组长度的回收率为10

警报(ARR { 8 }); / /虽然长度恢复到10,但第九元无法收回,不确定

从上面的代码中,我们可以清楚地看到长度属性的属性,但是长度对象不仅可以显式地设置,而且可以隐式地修改。类似地,也可以使用未定义的数组元素。长度属性的值被设置为当索引大于或等于长度时由元素1使用的索引的值:


var arr = { 12,23,5,3,25,98,76,54,56,76 };
警报(arr.length);
ARR { 15 } = 34;
警报(arr.length);


规范还定义了10个数字的第一阵列,和警告声明的长度是10,那么15的指数使用元素,即分配15,价值就是ARR { 15 } = 34,然后该数组的长度是由警报报表输出,和16。在任何情况下,这是因为习惯于强类型编程的开发者一个令人惊讶的特征。事实上,在新数组的形式创建的数组的初始长度()0。更改数组长度的未定义元素的操作。

从上面的介绍中可以看到,长度属性非常神奇,可以方便地增加或减少数组的容量。因此,深入了解长度属性将有助于在开发过程中灵活使用它。

2,原型属性

返回对对象类型原型的引用。原型属性对对象是通用的。

objectname.prototype

ObjectName参数是对象的名字。

描述:该类的一组基本功能,为对象提供原型属性。对象的新实例继承了赋予对象原型的操作。

对于数组对象,使用以下示例说明了原型属性的用法。

添加到数组对象的方法返回数组中的最大元素值。为此,声明一个函数,将它添加到Array.prototype,并用它。


array_max()函数
{
var i,max =这个{ 0 };
为(i = 1;i < this.length;i++)
{
如果(最大<这个{ })
马克斯=这个{ };
}
返回最大值;
}
array.prototype.max = array_max;
新数组(1, 2, 3,4, 5, 6);
var y = x.max();


执行此代码后,y将在数组x或6中保存最大值。

3,构造函数属性

表示对象创建的函数。

object.constructor / /对象是一个对象或函数的名称。

描述:构造函数属性是所有原型对象的一个成员,包括所有的固有的Jscript对象以外的全球和数学对象构造函数属性持有参考,构建一个具体的对象实例的功能。

例如:


x =新字符串(嗨);
如果(x.constructor = =字符串) / /处理(条件是真的)


或


功能MyFunc {
函数。
}
Y =新myfunc;
如果(y.constructor = = myfunc) / /处理(条件是真的)


以上内容是关于本文介绍Javascript数组来权衡五种方法和Javascript数组对象的三个属性的,希望大家喜欢它。