实例方法
push
向数组末尾添加元素
[int] arr.push(element1, ..., elementN)
返回:添加之后的length
eg1: 连接两个数组
var a = [1, 2, 3];
var b = [4, 5, 6];
Array.prototype.push.apply(a, b);
a // [1, 2, 3, 4, 5, 6]
eg2: 给对象push值,对象变成array-like
var obj = {};
Array.prototype.push.call(obj, 'a', 'b', 4);
obj // { '0': 'a', '1': 'b', '2': 3, length: 3 }
pop
从数组末尾删除一个元素
[ele] arr.pop()
shift
删除数组第一个元素
[ele] arr.shift()
unshift
在数组的开头添加一个或者多个元素
[int] arr.unshift(element1, ..., elementN)
join
str = arr.join([separator = ','])
eg:
var s = Array.prototype.join.call('hello', '-');
s // h-e-l-l-o
var obj = {}
Array.prototype.push(obj, 1, 2, 3); // obj is array-like
var s = Array.prototype.join.call(obj, '#');
s // 1#2#3
concat
concat方法用于多个数组的合并。它将新数组的成员,添加到原数组的尾部,然后返回一个新数组,原数组不变。
var new_array = old_array.concat(value1[, value2[, ...[, valueN]]])
reverse
arr.reverse()
slice
var slice_arr = arr.slice([begin[, end]])
eg:
将array-like对象转为真正的数组
var obj = { '0': 'a', '1': 2, '2': 3, length: 3 };
var a = Array.prototype.slice.call(obj);
a // ['a', 2, 3]
splice
从arr的start处删除deleteCount个元素,然后插入一些元素,返回删除的元素数组
var dlt_array = arr.splice(start, deleteCount, [add_ele1, add_ele2, ...])
sort
arr.sort()
arr.sort(function(a, b){
return a - b;
})
forEach
map
var new_arr = arr.map(callback[, thisArg])
callback = function(currentElement, index, arr){...}
eg:
function str2int(str) {
return str.split('')
.filter(function (ele) {
return (ele >= '0') && (ele <= '9');
})
.map(function (ele) {
return ele - '0';
})
.reduce(function (pre, cur) {
return 10 * pre + cur;
});
}
var a = str2int('1ad023cdx;xda23');
console.log(a);