原生JavaScript之数组方法

对js数组方法做个总结和记录,也是方便日后忘记了好再次查询。

1、reverse(),反转数组项的顺序;

2、sort(),对数组进行排序;默认情况下sort方法按升序排序数组项,就是说最小的值在最前面,最大的值在最后面。原理是sort方法会调用每个数组项的toString转型方法,之后比较得到的字符串。即使数组中的每一项都是数字类型,sort方法比较的也是字符串(升序)。但是sort方法可以接受一个比较函数,以确定是进行升序排列还是降序排列,以及对数值进行正确的升序降序排列。升序比较方法:

function compaer (value1, value2) {
    if (value1 < value2) {
        return -1;
    }
    if (value1 > value2) {
        return 1;
    }
    else {
        return 0;
    }
}

降序比较方法:

function compaer (value1, value2) {
    if (value1 < value2) {
        return 1;
    }
    if (value1 > value2) {
        return -1;
    }
    else {
        return 0;
    }
}

比较方法接收2个参数,升序时:如果第一个参数小于第二个参数则返回-1,反之返回1,相等则返回0;降序时:如果第一个参数小于第二个参数则返回1,反之返回-1,相等时返回0;如果只想将原来的数组进行颠倒,直接使用reverse方法会更加快。

3、concat(),合并多个数组,该方法不会改变原数组,只是返回被连接的数组的一个副本。如:

let arr = [2, 3, 1, 9, 7, 5, 8, 22];
let arr2 = ['这是arr2'];
console.log(arr.concat(arr2));    // 输出:[ 1, 2, 3, 5, 7, 8, 9, 22, '这是arr2' ]

4、join(),此方法在项目上也经常使用,该方法用于将数组项中的元素放入一个字符串,参数是制定要使用的分隔符,默认使用逗号。

let arr = [2, 3, 1, 9, 7, 5, 8, 22];
console.log(arr.join("-"));        // 输出 2-3-1-9-7-5-8-22

5、pop(),该方法用于删除并返回数组中的最后一个元素。

let arr = [2, 3, 1, 9, 7, 5, 8, 22];
console.log(arr);
console.log(arr.pop());
console.log(arr);

以下是输出结果:
[ 2, 3, 1, 9, 7, 5, 8, 22 ]
22
[ 2, 3, 1, 9, 7, 5, 8 ]

6、push(),该方法用的也是非常频繁的,用于向数组的末尾添加一项或多项元素,并返回新的长度;注意该方法会修改原来的数组。

let arr = [2, 3, 1, 9, 7, 5, 8, 22];
console.log(arr);
arr.push("新增1", "新增2");
console.log(arr);

以下是输出结果:
[ 2, 3, 1, 9, 7, 5, 8, 22 ]
[ 2, 3, 1, 9, 7, 5, 8, 22, '新增1', '新增2' ]

7、shift(),该方法删除并返回数组的第一个元素,并且会改变原数组。

let arr = [2, 3, 1, 9, 7, 5, 8, 22];
console.log(arr);
arr.shift();
console.log(arr);

以下是输出:
[ 2, 3, 1, 9, 7, 5, 8, 22 ]
[ 3, 1, 9, 7, 5, 8, 22 ]        // 原来数组的第一个元素已经被删除

8、slice(),该方法从已有数组中返回指定的元素,接收2个参数,第一个参数是指定返回元素的开始位置,第二个参数是返回指定元素的结束位置;

扫描二维码关注公众号,回复: 5079852 查看本文章
let arr = [2, 3, 1, 9, 7, 5, 8, 22];
console.log(arr);
console.log(arr.slice(2, 6));

输出结果:
[ 2, 3, 1, 9, 7, 5, 8, 22 ]
[ 1, 9, 7, 5 ]

9、splice(),该方法删除并返回指定的元素,并且可向数组添加新的元素(在指定位置添加,也就是说在被删除了元素的位置添加)。

let arr = [2, 3, 1, 9, 7, 5, 8, 22];
console.log(arr);
console.log(arr.splice(2, 3, "这是新添加的元素"));
console.log(arr);

输出结果:
[ 2, 3, 1, 9, 7, 5, 8, 22 ]
[ 1, 9, 7 ]
[ 2, 3, '这是新添加的元素', 5, 8, 22 ]

从上面的例子可以看到,被删除的元素1,9,7,这三个元素被splice方法的第三个参数“这是新添加的元素”所代替了。

10、toString(),该方法将数组转为字符串并返回结果。

let arr = [2, 3, 1, 9, 7, 5, 8, 22];
console.log(arr);
console.log(arr.toString());

输出结果:
[ 2, 3, 1, 9, 7, 5, 8, 22 ]
2,3,1,9,7,5,8,22

11、unshift(),该方法向数组的开头添加一个或多个元素,并返回新的长度。

let arr = [2, 3, 1, 9, 7, 5, 8, 22];

console.log(arr);
arr.unshift("new1", "new2", "new3");
console.log(arr);

输出结果:
[ 2, 3, 1, 9, 7, 5, 8, 22 ]
[ 'new1', 'new2', 'new3', 2, 3, 1, 9, 7, 5, 8, 22 ]

12、valueOf(),该方法返回数组对象的原始值,官方介绍为该原始值由 Array 对象派生的所有对象继承。valueOf() 方法通常由 JavaScript 在后台自动调用,并不显式地出现在代码中。

猜你喜欢

转载自blog.csdn.net/joyvonlee/article/details/86383018