JS - 数组(2)

作者: sunorry | 来源:发表于2015-02-10 00:20 被阅读159次

    join

    var a = [1,2,3];
    a.join(); // "1,2,3"
    a.join('_'); // "1_2_3"
    

    Q:如何快速制造出重复字符串

    function repeatStr(str, n) {a
    repeatSrt('a', 3); // 'aaa'  就像 a.join('_') 一样,最后搞出 length-1 个 '_'
    空的数组 undefined 会忽略掉
    

    reverse, sort

    调用 reverse, sort 会把原始数据修改掉

    concat

    原始数据被改变

    var a = [1, 2, 3];
    a.concat([10, 12], 1); // [1,2,3,10,12,1]
    a.concat([1, [10, 12]]); // [1,2,3,1,[10,12]]
    

    slice

    原始数据被改变,返回部分数组,左闭右开区间

    var arr = [1, 2, 3, 4, 5];
    arr.slice(1,3); // [2, 3]
    arr.slice(1); // [2,3,4,5]
    arr.slice(1, -1); // [2,3,4]
    arr.slice(-4, -3); // [2]
    

    splice

    原始数据被改变

    var arr = [1, 2, 3, 4, 5];
    arr.splice(2); // return [3, 4, 5]
    arr; // [1, 2]
    
    var arr = [1, 2, 3, 4, 5];
    arr.splice(2, 2); // return [3, 4]
    arr; // [1, 2, 5];
    
    var arr = [1, 2, 3, 4, 5];
    arr.splice(1, 1, 'a', 'b'); // [1, 'a', 'b', 3, 4, 5]
    

    ES5

    forEach 数组遍历

    var arr = [1, 2, 3, 4, 5];
    arr.forEach(function(x, index, a) {
        console.log(x + '|' + index + (a===arr))
    });
    // 1|0|true ...
    

    map 数组映射

    var arr = [1, 2, 3];
    arr.map(function(x) {
        return x + 10;
    }); // [11, 12, 13]
    arr; //[1, 2, 3]
    

    filter 数组过滤

    var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
    arr.filter(function(x, index) {
        return index % 3 ===0 || x>=8;
    }); //return [1, 4, 7, 8, 9 ,10]
    arr; //[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    

    every && some 数组判断

    var arr = [1, 2, 3, 4, 5];
    arr.every(function(x) {
        return x < 10;
    }); // true
    
    arr.every(function(x) {
        return x < 3;
    }); //false
    
    var arr = [1, 2, 3, 4, 5];
    arr.some(function(x) {
        return x === 3;
    }); // true
    
    arr.some(function(x) {
        return x === 100;
    }); //false
    

    reduce && reduceRight

    indexOf && lastIndexOf

    Array.isArray

    Array && String

    var a = "sunorry";
    Array.prototype.join.call(a, '_'); // 's_u_n_o_r_r_y'

    相关文章

      网友评论

        本文标题:JS - 数组(2)

        本文链接:https://www.haomeiwen.com/subject/tbejxttx.html