JS中有关数组的一些操作

绪论

本篇文章主要记录有关js数组的一些操作方法。

  1. 类型判断。
  2. 数组转字符串。
  3. 翻转数组。
  4. 数组排序。
  5. 数组链接。
  6. 数组截取,替换。
  7. 索引位置。
  8. every遍历,每次为true,结果为true。
  9. filter过滤器。
  10. forEach循环。
  11. some遍历,一次为true,结果为true。
  12. 数组清空。

正文

<!DOCTYPE html>
<div lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>index</title>
    <script src="js/jquery-2.2.4.min.js"></script>
    <style>
       
    </style>
</head>

<body>

</body>
<script>

    $(document).ready(function () {
        array();
    });

    function array () {
        var arr = [7, 2, 1, 6, 4];
        var num = 123;
        // 检测一个对象是否为数组,简单数据类型用typeof
        console.log('arr是数组吗?' + (arr instanceof Array));
        console.log('num是数组吗?' + (num instanceof Array));

        console.log('arr是数组吗?' + Array.isArray(arr));
        console.log('num是数组吗?' + Array.isArray(num));

        // join数组变字符串
        console.log('数组变字符串:' + arr.toString());
        console.log('数组变字符串:' + arr.join());
        console.log('数组变字符串:' + arr.join(','));

        // reverse翻转数组
        console.log('翻转数组:' + arr.reverse());

        // sort数组排序
        console.log('数组排序:' + arr.sort());
        // 数组排序 - 降序(b - a),升序(a - b)
        console.log('数组排序 - 降序:' + arr.sort(function(a, b) {return b - a}));

        var arr1 = [1, 9, 3];
        // concat数组链接
        console.log('数组链接:' + arr.concat(arr1));

        // splice数组截取
        console.log('数组截取,从索引值3开始到最后:' + arr.splice(3));
        arr = [7, 2, 1, 6, 4];
        console.log('数组截取,从索引值1开始获取三个元素:' + arr.splice(1, 3));
        // 由于数组截取之后原数组中元素会消失,所以再次使用已经没有数据,所以不展示
        console.log('数组截取,获取最后2位:' + arr.splice(-2));
        arr = [7, 2, 1, 6, 4];
        console.log('数组截取,获取最后2位:' + arr.splice(-2));
        // 数组替换
        arr = [7, 2, 1, 6, 4];
        arr.splice(1, 2, 'aaa');
        console.log('数组截取,删除指定并替换:' + arr.toString());

        // indexOf/lastIndexOf索引位置,没有则返回-1
        arr = [7, 2, 1, 6, 4, 7, 2, 1, 6, 4];
        console.log('索引位置,第一次出现:' + arr.indexOf(1));
        console.log('索引位置,最后出现:' + arr.lastIndexOf(1));

        arr = [7, 2, 1];
        // every数组遍历,规则:c[b] = a
        // 每次结果都返回true,every最后才返回true,失败就结束
        arr.every(function(a, b, c) {
            console.log('数组遍历,元素:' + a);
            console.log('数组遍历,索引:' + b);
            console.log('数组遍历,本身:' + c);
            console.log('-----------------');
            return true;
        });

        // filter过滤器
        arr = [7, 2, 1, 6, 4, 7, 2, 1, 6, 4];
        var newArr = arr.filter(function(element, index, array) {
            if (element < 5) {
                return true;
            } else {
                return false;
            }
        });
        console.log('过滤器:' + newArr.toString());

        // forEach循环,没有返回值
        arr = [7, 2, 1];
        arr.forEach(function(element, index, array) {
            console.log('数组遍历,元素:' + element);
            console.log('数组遍历,索引:' + index);
            console.log('数组遍历,本身:' + array);
            console.log('-----------------');
        });

        // some一次执行结果为true,则some为true
        var b = arr.some(function(element, index, array) {
            if (element == 1) {
                return true;
            }
            return false;
        });
        console.log('some结果' + b);
        // 数组清空
        arr.length = 0;
        arr.splice(0);
        arr = [];
    }
</script>

</div>

结果

在这里插入图片描述
在这里插入图片描述

(若有什么错误,请留言指正,3Q)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章