当前位置:首页 > 日记 > 正文

JS数组权重去除的5种算法

JS数组权重去除的5种算法
1。遍历数组的方法

减肥,最简单的方法实现的想法:建立一个新的数组,遍历传入的数组,数组的值是不是新加入新的阵列;注:值在数组的方法确定指标的ecmascript5方法,IE8不支持需要写一些与低版本浏览器的代码更兼容,源代码如下:

最简单的数组删除方法
功能unique1(阵列){
新的临时数组
当前数组遍历
对于(var i = 0;i < array.length;i++){
如果当前数组已保存到临时数组中,则跳过,
否则将推送到临时数组中。
如果(n.indexof(数组{我})= - 1 n.push(数组{我}));
}
返回N;
}
2。对象键值对

该方法执行比其他方法更快,是一些大的,实现想法的记忆:创建一个新的JS对象和一个新数组遍历输入数组,确定JS的价值是关键,如果不添加对象键,产生一个新的数组。注意:当决定是否是一个JS对象键,它会自动执行toString()对输入的密钥,和不同的密钥可能会被误认为是相同的;例如,一个{ 1 }和{ 1 。为解决上述问题,你还是叫指标。

最快,最多的空间(时间空间)
功能unique2(阵列){
VaR N = { },R = { },len = array.length、瓦迩、型;
For (VaR I = 0; I < array.length; i++) {
数组= { };
类型:类型的值;
如果(!{ }){
类型};
R.push(Val);
} else if(N {值}。indexOf(型)< 0){
{ }。推(类型);
R.push(Val);
}
}
返回R;
}
三.数组下标判断法

我们还是要调用的性能指标与方法1。其思想是,如果当前数组中第一个i项的位置不是i,则重复和忽略i项。否则,保存结果数组。

功能unique3(阵列){
数组{ 0 };数组结果
从第二次/遍历开始
对于(var i = 1;i < array.length;i++){
如果我第一次出现在数组中当前位置的当前数组不是i,
因此,重复i,忽略,否则,保存结果数组。
如果(array.indexof(数组{我})=我n.push(数组{我}));
}
返回N;
}
4。排序后相邻分割

虽然本机数组的排序方法不太可靠,但对不注意序列的缺点没有影响。实现思路:展开数组排序,对相邻的相同值进行排序,然后遍历新数组,只添加不重复以前的值。

相邻值将相同,然后遍历删除重复值。
功能unique4(阵列){
Array.sort();
var数组{ 0 } };
对于(var i = 1;i < array.length;i++){
如果(数组{ })!=重新{重新。length-1 }){
Re.push(数组{我});
}
}
重新回归;
}
5。优化遍历数组法

代码比较酷,实现思路:没有在新数组中重复正确的值。(下一轮判断停止当前循环,并在出现重复值时输入顶部循环)

在新数组中没有得到正确的重复值。
功能unique5(阵列){
var = { };
对于(var i = 0,L = array.length;i < L;i++){
用于(var j = i + 1;j < l;j + +)
如果(数组{数组});
R.push(数组{我});
}
返回R;
}
确定浏览器是否支持指数,指数低于ecmascript5 IE8的新方法(包括IE8,IE8只支持部分ecma5)不支持

如果(!阵列。原型。指标){
/ /新的索引方法
array.prototype.indexof =功能(项目){
VaR结果= 1,a_item = null;
如果(this.length = = 0){
返回结果;
}
对于(var i = 0,len = this.length;我< len;i++){
a_item =这{我};
如果(a_item =项目){
结果=我;
打破;
}
}
返回结果;
}
}
以上是提供5种JS数组的实现算法,希望能对大家有所帮助。

相关文章

PHP设置会话的详细说明(过期、过期

PHP设置会话的详细说明(过期、过期

日期,设置,详细说明,电脑软件,PHP,在PHP中设置会话有很多方法,包括直接设置会话值或设置到期、失败和到期日期。接下来,小编将告诉你如何使用它。 让我们来看看如何设置会话在php.ini,打开php.ini,查找以下项目中的会话设置部分,代码如下: sessi…

2015标志标志设计趋势供设计师参考

2015标志标志设计趋势供设计师参考

参考,趋势,标志,设计师,电脑软件,接下来,小编将与您分享潮流LO标志设计2015。虽然2015已经过半数,但对于这篇文章的介绍还是值得一读的。现在让我们看一看。 2015罗标志设计潮流是后期翻译,Bill Gardner每年都会发表这样一篇诚信文章,以分析设…

Word2003份宏观到其他文档或模板教

Word2003份宏观到其他文档或模板教

教程,文档,模板,电脑软件,在向模板中添加宏时,安全性应该更加小心。宏的设计方法可能会造成安全隐患。我们建议您只使用源代码中可靠的宏。 1、点击工具菜单中的模板和加载项命令。 2、点击管理员点击宏计划选项卡。 3、如果你想将项目文件…

超级幽默,有趣,美妙的花朵,个性签名和

超级幽默,有趣,美妙的花朵,个性签名和

个性签名,美妙,有趣,幽默,电脑软件,恋爱中的人都是疯子,总是猜测对方是否真的爱自己,不能爱得更多。 通过设置反藁城,请体谅。 一个人会寂寞,两个人会有更多的麻烦。 只要薄都相配穿什么。胖子,穿什么都没用。 自从确定了你的恐惧,每天都要卷起,从…

AI文本是如何转到文本教程的Adobe

AI文本是如何转到文本教程的Adobe

文本,教程,转到,插画,版本,Adobe插画是一个工业标准矢量插画出版,多媒体和在线图像。让我们一起来看看。 Adobe是一个工业标准矢量插画,用于出版、多媒体和在线图像。我相信很多朋友使用这个软件,设计模型,下面的小编辑器分享AI文本如何转向音…

QQ非主流签名男孩非主流

QQ非主流签名男孩非主流

非主流,男孩,电脑软件,QQ,树不吠,毫无疑问,人无耻无敌。为自己的QQ选择非主流签名,小整理非主流签名有关你: 1,你很有创意,活得很勇敢,丑不是你的本意。 2,你复杂的五感不能掩盖你简单的智商。 三.你病得很厉害,要出去了。 4,世界大,大,但你却思念着那…

如何快速给照片美白PS快速美白的身

如何快速给照片美白PS快速美白的身

照片,快速,身影,电脑软件,PS,本教程教朋友使用ps快速和美白照片。本教程非常简单实用,并与朋友转发学习,希望能对您有所帮助。 所有的人都不爱他们的皮肤黄色,黄色的皮肤看起来营养不良,贫血及活力。如何用ps美白人物的照片吗下面的小编辑器,以…

滑稽的个性签名滑稽的个性签名

滑稽的个性签名滑稽的个性签名

滑稽,个性签名,电脑软件,我是一个有寒假的人。下面是小编辑签名的滑稽人物。我希望能帮助你! 搞笑的个性签名 爱你,不管你怎么做。 对不起,我受够了,认为你是理所当然的。 一张小小的成绩单,却可能引发很多家庭战争。 你的话,你可以决定我的心情…

Word如何制作日历词常见问题

Word如何制作日历词常见问题

常见问题,日历,电脑软件,Word,第一次启动Word,创建一个新文件并选择日历模板。注意,这里的建筑物都必须通过文件菜单,在新,,指挥,和新的文件不能使用按钮在快捷工具栏选择萧边使用Office 2010。如果您使用Office 2007,您需要单击Word界面左上角的O…

PS给景观照片提供了清晰而真实的深

PS给景观照片提供了清晰而真实的深

照片,清晰,景观,深度,效果,本教程介绍了一个朋友,以PS创建清晰和真正的深度效果的方法,风景照片。这门课的效果真的很美。这个教程有点难。你需要有一定基础学习的朋友。你可以推荐它。让我们一起来处理它。 今天,我们建议我们使用ps来合成清…

Word2010教程在Word2010快速提取

Word2010教程在Word2010快速提取

教程,快速,电脑软件,在Word2010中有一个功能很方便:在早期版本的话,如果我们要在文档中插入图片的提取,通常的方法是将文档另存为网页格式,然后在文件和相应的网页文件夹中找到的所有图像。虽然画面中提取的,它是基本上很难再次使用,因为提取的图…

时间轴特效(三种不同类型)

时间轴特效(三种不同类型)

时间轴,三种,不同类型,特效,电脑软件,jQuery三种不同类型的时间轴开关,显示特效特效,先显示地图效果,喜欢的朋友可以下载源码。 查看效果源下载 文件参考: $(函数(){()) $()Timelinr()。 });…