- /**
- * 返回一个数组元素的下标,返回下标
- * @param val
- * @returns {Number}
- */
- Array.prototype.indexOf = function (val) {
- for (var i = 0; i < this.length; i++) {
- if (this[i] == val) return i;
- }
- return -1;
- };
- /**
- * 根据内容删除一个元素,返回数组
- * @param val
- */
- Array.prototype.remove = function (val) {
- var index = this.indexOf(val);
- if (index > -1) {
- this.splice(index, 1);
- }
- };
- /**
- * 数组根据下标删除一个元素,返回一个删除后的数组
- * @param n
- * @returns
- */
- Array.prototype.del = function (n) { //n表示第几项,从0开始算起。
- //prototype为对象原型,注意这里为对象增加自定义方法的方法。
- if (n < 0) //如果n<0,则不进行任何操作。
- return this;
- else
- return this.slice(0, n).concat(this.slice(n + 1, this.length));
- /*
- concat方法:返回一个新数组,这个新数组是由两个或更多数组组合而成的。
- 这里就是返回this.slice(0,n)/this.slice(n+1,this.length)
- 组成的新数组,这中间,刚好少了第n项。
- slice方法: 返回一个数组的一段,两个参数,分别指定开始和结束的位置。
- */
- }
- //添加一个数组包含的方法
- Array.prototype.contains = function (obj) {
- var i = this.length;
- while (i--) {
- if (this[i] === obj) {
- return true;
- };
- }
- return false;
- };
- //该片段来自于http://www.codesnippet.cn/detail/060120148396.html
来源: http://www.codesnippet.cn/detail/060120148396.html