JavaScript Array 对象扩展方法
/** 删除数组中指定索引的数据 **/
Array.prototype.deleteAt = function (index) {
if (index < 0) {
return this;
}
return this.slice(0, index).concat(this.slice(index + 1, this.length));
}
/** 数组洗牌 **/
Array.prototype.random = function () {
var tempArr = [], me = this, t;
while (me.length > 0) {
t = Math.floor(Math.random() * me.length);
tempArr[tempArr.length] = me[t];
me = me.deleteAt(t);
}
return tempArr;
}
Array.prototype.orderRandom = function () {
return this.sort(function () {
return Math.random() > 0.5 ? "-1" : "1";
});
}
/** 数字数组排序 **/
Array.prototype.sortNum = function (i) {
if (!i) {
i = 0;
}
if (i == 1) {
return this.sort(function (a, b) {
return b - a;
});
}
return this.sort(function (a, b) {
return a - b;
});
}
/** 获取数字数组中的最大项 **/
Array.prototype.getMax = function () {
return this.sortNum(1)[0];
}
/** 获取数字数组中的最小项 **/
Array.prototype.getMin = function () {
return this.sortNum(0)[0];
}
/** 数组第一次出现指定元素的位置 **/
Array.prototype.indexOf = function (o) {
for (var i = 0; i < this.length; i++) {
if (this[i] == o) {
return i;
}
}
return -1;
}
/** 去除数组中的重复项 **/
Array.prototype.arrUnique = function () {
var reset = [], done = {};
for (var i = 0; i < this.length; i++) {
var temp = this[i];
if (!done[temp]) {
done[temp] = true;
reset.push(temp);
}
}
return reset;
}
JavaScript Array 对象扩展方法的更多相关文章
- Javascript Array对象 sort()方法,记忆方法,方法扩展
相信 有很多 同仁们,尤其是初学者,在记住 Array对象 sort() 方法的排序,规则上,有点困难: 其实sort()方法已经在实际工作中用到很多遍了,可当我仔细推敲,这个sort()方法,什么时 ...
- JavaScript Array对象sort() 方法小结
sort() 方法用于对数组的元素进行排序. 语法arrayObject.sort(sortfunction) 参数sortfunction 可选.规定排序顺序.必须是函数. 返回值对数组的引用.请注 ...
- JavaScript Array 对象的方法,比如push和unshift
https://www.runoob.com/jsref/jsref-obj-array.html js数组与字符串的相互转换 一.数组转字符串 需要将数组元素用某个字符连接成字符串,示例代码如下: ...
- JavaScript String 对象扩展方法
/** 在字符串末尾追加字符串 **/ String.prototype.append = function (str) { return this.concat(str); } /** 删除指定索引 ...
- JavaScript 数组(Array)对象的方法
JavaScript 数组(Array)对象的方法 concat() 描述:用于连接两个或多个数组.该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本. 原型:arrayObject.conc ...
- Array对象的方法详情
题外话:从事前端开发有很长一段时间了,一直在不断的扩充各种框架的学习,总觉得要学的东西好多,但是技能并没有得到很大的提升,后发现自己一味去追求的它的广度,并没用去深究其深度,所以决定打算从零开始,从最 ...
- JavaScript Array 对象
JavaScript Array 对象 Array 对象 Array 对象用于在变量中存储多个值: var cars = ["Saab", "Volvo", & ...
- jQuery对象扩展方法(Extend)深度解析
1.这几天在写自己的Js工具类库,所以在编写对象扩展方法,参考了jQuery的对象扩展方法,在编写该方法前,需要掌握js深拷贝和浅拷贝的相关知识,下面是jQuery3.2.1版本对象扩展方法的源码: ...
- 浏览器端-W3School-浏览器端:JavaScript Array 对象
ylbtech-浏览器端-W3School-浏览器端:JavaScript Array 对象 1.返回顶部 1. Array 对象 Array 对象用于在单个的变量中存储多个值. 创建 Array 对 ...
随机推荐
- How to update WPF browser application manifest and xbap file with ‘mage.exe’
老外参考文章1 老外参考文章2 I created a WPF browser application MyApp then published it by ClickOnce in VS2008. ...
- 为Qemu aarch32添加BeautifulSoup4模块
环境 Qemu:2.8.0 开发板:vexpress-ca9 概述 上一篇博文已经可以让我们的开发板可以成功的ping通百度了,据说Python的网络功能也很强大,而Beautiful Soup是 ...
- 完美.PCK文件不完全详解
building.pck:建筑物 configs.pck:配置文件interface.pck:玩过魔兽的都晓得这个是什么~interface顾名思义·facedata.pck,人物脸型,细节.不要改, ...
- indy10的idHttpServer发送流
indy10的idHttpServer发送流 先看源码: procedure TIdIOHandler.Write(AStream: TStream; ASize: TIdStreamSize = 0 ...
- 用drawRect以及CAReplicatorLayer绘制动态水波纹
用drawRect以及CAReplicatorLayer绘制动态水波纹 大大简化了写水波纹效果的难度,你可以根据示例自己组装水波纹效果,本设计是几个工具组合在一起完成的效果, DrawRectObje ...
- Python中的文件IO操作(读写文件、追加文件)
Python中文件的读写包含三个步骤:打开文件,读/写文件,关闭文件. 文件打开之后必须关闭,因为在磁盘上读写文件的功能是由操作系统提供的,文件作为对象,被打开后会占用操作系统的资源,而操作系统在同一 ...
- java.lang.ThreadLocal类
一.概述 ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvariable(线程局部变量).也 ...
- 用开源项目RangBar来实现有范围的SeekBar
RangeBar是一个可以有选择范围的Seekbar,用这个项目其实是很简单的.就是一个自定义控件~ 一.布局文件 这里可以看到有很多属性可以定制,除了通过xml来定义也可以再java代码中进行定义. ...
- 中文代码之Spring Boot集成H2内存数据库
续前文: 中文代码之Spring Boot添加基本日志, 源码库地址相同. 鉴于此项目中的数据总量不大(即使万条词条也在1MB之内), 当前选择轻量级而且配置简单易于部署的H2内存数据库比较合理. 此 ...
- 同步一个 fork
fork 了别人的仓库后,原作者又更新了仓库,如何将自己的代码和原仓库保持一致?本文将给你解答. 如何使用搜索引擎 其实这个问题并不难,我又被坑了.百度搜的东西不靠谱啊,以后这种问题一定要用英文在 G ...