js 实现的算法
2012-04-03 15:34
176 查看
1 .如何用js删除数组中重复的元素。请实现a.distinct()方法,用来给数组a去掉重复值,要求对Array的原型进行扩展方法,并尽可能做到效率最优。
Array.prototype.distinct = function(){
var self = this;
var _a = this.concat().sort();
_a.sort(function(a,b){
if(a == b){
var n = self.indexOf(a);
self.splice(n,1);
}
});
return self;
};
2.Javascript中获取数组最大值和最小值的方法
用Math.max和Math.min方法可以迅速得到结果。apply能让一个方法指定调用对象与传入参数,并且传入参数是以数组形式组织的。恰恰现在有一个方法叫Math.max,调用对象为Math,与多个参数
但是,John Resig是把它们做成Math对象的静态方法,不能使用大神最爱用的链式调用了。但这方法还能更精简一些,不要忘记,Math对象也是一个对象,我们用对象的字面量来写,又可以省几个比特了。
Array.prototype.max = function(){
return Math.max.apply({},this)
}
Array.prototype.min = function(){
return Math.min.apply({},this)
}
[1,2,3].max()// => 3
[1,2,3].min()// => 1
转自:http://hi.baidu.com/zg1989bd/blog/item/4d10c362137aba720c33fae9.html
http://www.cnblogs.com/xiaopen/archive/2011/03/11/javascript_Max-Min.html
Array.prototype.distinct = function(){
var self = this;
var _a = this.concat().sort();
_a.sort(function(a,b){
if(a == b){
var n = self.indexOf(a);
self.splice(n,1);
}
});
return self;
};
2.Javascript中获取数组最大值和最小值的方法
用Math.max和Math.min方法可以迅速得到结果。apply能让一个方法指定调用对象与传入参数,并且传入参数是以数组形式组织的。恰恰现在有一个方法叫Math.max,调用对象为Math,与多个参数
Array.max = function( array ){ return Math.max.apply( Math, array ); }; Array.min = function( array ){ return Math.min.apply( Math, array ); };
但是,John Resig是把它们做成Math对象的静态方法,不能使用大神最爱用的链式调用了。但这方法还能更精简一些,不要忘记,Math对象也是一个对象,我们用对象的字面量来写,又可以省几个比特了。
Array.prototype.max = function(){
return Math.max.apply({},this)
}
Array.prototype.min = function(){
return Math.min.apply({},this)
}
[1,2,3].max()// => 3
[1,2,3].min()// => 1
转自:http://hi.baidu.com/zg1989bd/blog/item/4d10c362137aba720c33fae9.html
http://www.cnblogs.com/xiaopen/archive/2011/03/11/javascript_Max-Min.html
相关文章推荐
- 用js实现算法:冒泡排序、插入排序和快速排序
- 关于SLG战略游戏中,人物移动范围的算法(js实现)
- JS实现身份证号码15位转18位时最后一位的算法
- 斐波那契数列公式算法-JS实现
- 高效质数判断算法及其JS实现
- JS实现的数组全排列输出算法
- js改变透明度实现轮播图的算法
- 算法练习--二分搜索哈希表-JS 实现
- js实现全排列组合算法
- 基础算法学习之排序篇(js实现)
- 熟悉熟悉常用的几个算法用JS的实现
- 归并算法的JS实现及分析(分治,递归,归并)
- HMACSHA1加密之java跟js算法实现
- JS实现的数组去除重复数据算法小结
- 常见算法是js实现汇总
- 快速幂算法 - JS 实现
- js或者php简单实现购买产品满1年优惠2个月的算法
- linkurious.js实现Louvain社区发现算法 - sigma.statistics.louvain
- 熟悉熟悉常用的几个算法用JS的实现
- arcgis api for js共享干货系列之一自写算法实现地图量算工具