JS Array

2016-11-28  本文已影响6人  沧桑月

实例方法

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);
上一篇 下一篇

猜你喜欢

热点阅读