JavaScript的数组方法

2022-08-01,,

    // push() 接收任意参数并把它插入到数组的最后面  返回原数组
    var arr = [1, 2, 3, 4, 5];
    console.log(arr.push('6'));
    console.log(arr);  //  [1,2,3,4,5,6]

    // pop()  从数组中删除最后一项  返回原数组
    var arr = [1, 2, 3, 4];
    console.log(arr.pop());
    console.log(arr);  // [1,2,3]

    // unshift()  在数组前添加任意参数  返回原数组  如果是新变量接收返回值是新数组长度
    var arr = ['purple', 'orange', 'deepink'];
    console.log(arr.unshift('red', 'blue'));
    console.log(arr);  // ['red', 'blue','purple', 'orange', 'deepink']

    // shift()  删除某个元素并返回原数组
    var arr = [1, 2, 3, 4];
    console.log(arr.shift(2));
    console.log(arr);  // [1,3,4]

    // splice()  增删改功能  
    // 删除 spice(删除下标起始位置, 删除的个数)
    var arr = [1, 2, 3, 4];
    console.log(arr.splice(1, 2)); // 2,3被删除
    console.log(arr); // [1,4]  当前数组

    // 替换 splice(替换下标起始位置, 删除的个数, 要插入的项)
    var arr = [1, 2, 3, 4];
    console.log(arr.splice(0, 3, '生哥帅'));  // [1,2,3]被删除替换
    console.log(arr);  // ['生哥帅',4]

    // 增加 splice(替换下标起始位置, 删除的个数, 要插入的项....)
    var arr = [1, 2, 3, 4];
    console.log(arr.splice(0, 3, '生哥帅', '哈哈', '一楼说的对'));  // [1,2,3]被删除替换  利用被删除的空填补上插入的值
    console.log(arr);  // ['生哥帅', '哈哈', '一楼说的对',4]

    // concat(要合并的数组2, [9,10])  把多个数组合并在一起返回新数组
    var arr1 = [1, 2, 3, 4];
    var arr2 = [5, 6, 7, 8];
    var arr3 = [9, 10];
    var result = arr1.concat(arr2, arr3);
    console.log(result);

    // 数组的join是把数组转化为字符串
    // 字符串的split是把字符串转为数组

    // join()  给每个字符串都拼接上指定字符串
    var arr = [1, 2, 3, 4, 5];
    var str = arr.join('.');  // 1.2.3.4.5
    console.log(str);
    split() // 字符串转化的数组
    var result = str.split('--');
    console.log(result); // ["1.2.3.4.5"]


    // reverse()  反转数组   返回原数组
    var arr = [1, 2, 3, 4, 5];
    console.log(arr.reverse());  // [5, 4, 3, 2, 1]

    // slice()  选中当前数组中的某个元素,返回一个新数组 (不会影响原数组)
    var arr = [1, 2, 3, 4, 5];
    var res = arr.slice(0, 1);
    console.log(res); // [1]

    // sort(函数参数)  升序和降序()  排序后改变原数组
    var arr = [1, 2, 3, 4, 5, 6, 7, 8];
    // // 升序
    var res = arr.sort(function (val1, val2) {
        return val1 - val2;
    })
    console.log(res); // [1, 2, 3, 4, 5, 6, 7, 8]

    // // 降序
    var res = arr.sort(function (val1, val2) {
        return val2 - val1;
    })
    console.log(res); // [8, 7, 6, 5, 4, 3, 2, 1]

    // toString()    把数组转化为字符串
    var arr = [1, 2, 3, 4, 5];
    console.log(arr.toString());  // 1,2,3,4,5

    // indexOf(要查找的值, 数组下标)   找得到返回下标   找不到返回-1
    var arr = [1, 2, 3, 4, 5];
    var arr2 = ['red', 'blue', 'yellow']
    console.log(arr.indexOf(1, 0));
    console.log(arr2.indexOf('blue', 0));

    // forEach()  遍历数组值和索引  没有返回值   强行返回值是undefined
    var arr = [1, 2, 3, 4, 5, 6, 7, 8];
    arr.forEach(function (value, index) {
        console.log(value, '-----------', index);
    })  // 1 "-----------" 0 ...

    // map()   对数组中的每个索引添加到函数后面,函数把每次接收到的返回给一个新数组
    var arr = ['purple', 'orange', 'deepink'];
    var res = arr.map(function (val1, index) {
        return val1 + index;
    })
    console.log(res);   // ["purple0", "orange1", "deepink2"]

    // filter()  接收一个函数为参数,f如果这个数组符合参数中条件的元素,那么把符合的返回给一个新数组   过滤器
    var arr = ["purple", "orange", "deepink"];
    var res = arr.filter(function (val1, index) {
        // 如果值里有orange的就去掉  然后把符合条件true的元素返回给一个新数组
        if (val1 == 'orange') {
            return false;
        }
        return true;
    })
    console.log(res);  // ['purple','deepink']

    // every() 类似于逻辑与   接收一个函数当参数,如果全部符合条件都为true  那么返回true  布尔值
    var arr = [1, 2, 3, 4, 5, 6];
    var res = arr.every(function (val1, index) {
        // 如果全部符合条件  那么返回true
        if (val1 > 0) {
            return true;
        }
        return false;
    })
    console.log(res);

    // some()  接收一个函数当参数,;类似于逻辑或,只要有一项符合就返回true
    var arr = [1, 2, 3, 4, 5, 6];
    var res = arr.some(function (val1, index) {
        // 6符合条件 所以返回true
        if (val1 > 5) {
            return true;
        }
        return false;
    });
    console.log(res);

    // isArray 判断是否为数组  返回值是布尔值
    var arr = [1, 2, 3, 4, 5];
    console.log(Array.isArray(arr));  // true

    // form()  用于将类数组转化为真正的数组
    var arr = [1, 2, 3, 4];
    function test() {
        var res = arr.form(arguments);
        console.log(res);
    }
    test();

    // Array.of()  将一组数值转化为数组  返回新数组
    var res = Array.of(1, 2, 3, 4, 5);
    console.log(res);  // [1, 2, 3, 4, 5]

本文地址:https://blog.csdn.net/Steven_Son/article/details/107457397

《JavaScript的数组方法.doc》

下载本文的Word格式文档,以方便收藏与打印。