String.split(String/RegExp)
Array.join(String)
Array.concat(String/Array)
Array.slice(start, end)
Array.reverse() [原]
Array.sort() [原]
indexOf(value) [ES5]
lastIndexOf(value)[ES5]
splice(start, length, value1...)[原]
every(callback)[ES5]
some(callback)[ES5]
filter(callback)[ES5]
map(callback)[ES5]
forEach(callback)[ES5]
/* * 数组的构成 * String.split() 把字符串转成数组 * Array.join() 可以把数组转化成字符串 * * 数组的连接/截取 * Array.concat(String/Array) * 如果没有参数 克隆当前数组 * 当传递一个元素是数组的数组时并不能递归地展开 * Array.slice(start, end) [start, end) * 当传递参数是负值时,其值转变成负值加上数组长度 * * 数组排序 * Array.reverse() 在原数组上执行数组元素翻转 并返回翻转后的数组 * Array.sort() 在原数组上执行排序操作, 并返回排序后的数组 * sort()方法可以传递一个自定义的比较方法 * * 数组元素定位(ECMAScript 5) IE9+... * indexOf() * lastIndexOf() * 自定义indexOf() * * 数组的插入/删除/替换 * Array.splice() 在原数组上执行操作 * splice(start, length, string, ...) * 插入元素:splice(start, 0, 'a') 在start后插入'a' * 删除元素:splice(start, 1) 删除下标为start的元素 * 替换元素:splice(start, length, string, ...) 替换 (删除添加) * * 数组迭代(ECMAScript 5) * Boolean every(function(item, index, array) { ... }) * Boolean some(function(item, index, array)) * Array filter(function(item, index, array)) 返回筛选的数组 函数返回true的元素 * Array map(function(item, index, array)) 返回操作后所有数组元素 * void forEach(function(item, index, array)) 没有返回值 * * 用回调函数迭代地将数组简化为单一的值 * reduce(function(prev, cur, index, array)) * reduceRight(function(prev, cur, index, array)) * * 自定义操作 * inArray(value, array) //检查数组中是否存在某个值 * unique(array) //删除数组中重复的元素 * shuffle() //随机排序 * rand() //从数组中随机取出一个或多个单元 * countValues(array) //统计数组中所有的值出现的次数 */ /** * 数组排序 * 当value1 - value2 > 0 则将交换两者位置 * @param {Object} value1 * @param {Object} value2 */ function compare(value1, value2) { return value1 - value2; } var values = [1, 3, 30, 2, 10]; values.sort(compare); console.log(values); var numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1]; //判断数组元素是否都大于2 var result = numbers.every(function(item, index, array) { return item > 2; }); //判断数组中是否有大于2的元素 var result = numbers.some(function(item, index, array) { return item > 2; }); //返回由符合条件的元素组成的数组 var result = numbers.filter(function(item, index, array) { return item > 2; }); //对每个元素操作并以数组的形式返回 var result = numbers.map(function(item, index, array) { return item * 2; }); //遍历数组 numbers.forEach(function(item, index, array) { //.... item = item * 2; }); //给每个数组元素加2 for(var i=0, len=numbers.length; i<len; i++) { numbers[i] += 2; } var numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1]; var index = numbers.indexOf(3); //2 var index = numbers.lastIndexOf(3); //6
未完待续。。。