array.js

来自「Prototype的目标是为开发动态Web程序提供一个容易使用的JS开发框架」· JavaScript 代码 · 共 78 行

JS
78
字号
var $A = Array.from = function(iterable) {  if (!iterable) return [];  if (iterable.toArray) {    return iterable.toArray();  } else {    var results = [];    for (var i = 0; i < iterable.length; i++)      results.push(iterable[i]);    return results;  }}Object.extend(Array.prototype, Enumerable);Array.prototype._reverse = Array.prototype.reverse;Object.extend(Array.prototype, {  _each: function(iterator) {    for (var i = 0; i < this.length; i++)      iterator(this[i]);  },    clear: function() {    this.length = 0;    return this;  },    first: function() {    return this[0];  },    last: function() {    return this[this.length - 1];  },    compact: function() {    return this.select(function(value) {      return value != undefined || value != null;    });  },    flatten: function() {    return this.inject([], function(array, value) {      return array.concat(value.constructor == Array ?        value.flatten() : [value]);    });  },    without: function() {    var values = $A(arguments);    return this.select(function(value) {      return !values.include(value);    });  },    indexOf: function(object) {    for (var i = 0; i < this.length; i++)      if (this[i] == object) return i;    return -1;  },    reverse: function(inline) {    return (inline !== false ? this : this.toArray())._reverse();  },    shift: function() {    var result = this[0];    for (var i = 0; i < this.length - 1; i++)      this[i] = this[i + 1];    this.length--;    return result;  },  inspect: function() {    return '[' + this.map(Object.inspect).join(', ') + ']';  }});

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?