Javascript 数组操作


一 数组转换为字符串

var w = ['a', 'b', 'c'];
w.toString(); // "a,b,c"
w.join(''); // "abc"
w.join('-'); // "a-b-c"

二 数组添加元素

var w = ['a'];
w.push('b'); // w: ["a", "b"]
w.unshift('c'); // w: ["c", "a", "b"]

三 数组删除元素

var w = ['a', 'b', 'c'];
w.pop(); // c
// w: ['a', 'b'];
w.shift(); // a
// w: ['b'];
delete w[0]

四 合并数组

var w1 = ['a'];
var w2 = ['b'];
var w = w1.concat(w2); // ["a", "b"]

五 查找数组元素

var w = ['a', 'b', 'c'];
w.indexOf('b'); // 1
w.includes('c'); // true
w.find(function(v, i, a) {
    if (v === 'b') {
    // do something
    }
}); // 'b'
w.findIndex(function(v, i, a) {
    if (v === 'b') {
    // do something
    }
}); // 1
w.forEach(function(v, i) { 
    if (v === 'b') { 
    // do something
    }
});

六 反转数组元素

var w = ['a', 'b', 'c'];
w.reverse(); // ["c", "b", "a"]

七 数组切片

var w = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
w.slice(2, 4); // ["c", "d"]

八 数组元素排序

var w = [4, 'e', 'z', 2, 'a', 'q', 9];
w.sort(); // [2, 4, 9, "a", "e", "q", "z"]
var w = [4, 7, 3, 2, 5, 8, 9];
w.sort(function(a, b) {
    return a - b;
}); // [2, 3, 4, 5, 7, 8, 9]

九 数组筛选

var w = [4, 'e', 'z', 2, 'a', 'q', 9];
var _w = w.filter(function(i) { return i > 0; }); // [4, 2, 9]