javascript 基础 数组

第一章 数组

1.数组的概念
数组就是将多个元素(通常是同一种类型)按照一定的排序放到一个集合中,那么这个集合我们就称之为数组
2.数组的定义
数组是一个有序的列表,可以在数组中存放任意的数组,并且数组的长度可以动态的调整.
通过数组字面量创建数组
var arr=[] //创建一个空数组
var arr1=[2,3,4] //创建有3个数组的数组
var arr2=[“a”,”b”] //创建2个字符串的数组
数组的length属性,获取数组的长度
获取数组元素
数组名[索引] //获取数组索引对应的那个值,如果不存在则返回undefined
3.案例
3.1 通过for循环给空数组添加值

var scores=[]; //空数组
for (var i=0; i<10;i++){
    sxores[i]=i
}
3.2 分割符号分割数组
<script>
        var arr=['郭德纲','张俊基','太阳','李宇春','小沈阳'];
        var str=arr[0];
        var atm='|';
        for (var i = 1; i < arr.length; i++) {
           str+=atm+arr[i];
        }
        console.log(str);
    </script>
3.3翻转数组
<script>
        var arr=[2,3,1,66,33,22];
        var newarr=[];
        for (var i=arr.length-1; i>=0;i--){
            newarr[newarr.length]=arr[i];
        }
        console.log(newarr);
    </script>
3.4 数组冒泡排序
<script>
        var arr=[7,5,4,3,1,0];
        for(var i=0; i<arr.length-1;i++){
            for(var j=0; j<arr.length-1-i; j++){
                if(arr[j]>arr[j+1]){
                    var temp=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=temp;
                }
            }
        }
        console.log(arr);
    </script>

3.5 数组去重

1.第一种最基本的方法
 <script>
        //定义一个新数组,并存放原数组的第一个元素,
        //然后将元素组一一和新数组的元素对比,若不同则存放在新数组中。
        function array(arr) {
            var str = [arr[0]];
            for (var i = 0; i < arr.length; i++) {
                var flang = false;
                for (var j = 0; j < str.length; j++) {
                    if (str[j] == arr[i]) {
                        flang = true;
                        break;
                    }
                }
                if (!flang) {
                    str.push(arr[i]);
                }
            }
            return str;
        }
        var btm = [1, 1, 2, 2, 4, 5, 6, 2, 8, 2];
        console.log(array(btm));
    </script>
    2.利用对象是否存在属性来去重
    <script>
       //每次取出原数组的元素,然后再对象中访问这个属性,如果存在就说明重复
        function array(arr){
           var res=[];
           var json={};
            for (var i=0; i<arr.length;i++){
                if(!json[arr[i]]){
                    res.push(arr[i]);
                    json[arr[i]]=1;
                }
            }
            return res;
       };
      var btm = [1, 1, 2, 2, 4, 5, 6, 2, 8, 2];
      console.log(array(btm));
    </script>
    3.先排序,后一一比较
    <script>
        // 思路:先将原数组排序,在与相邻的进行比较,如果不同则存入新数组
        function unique(arr) {
            var arr2 = arr.sort();
            var res = [arr2[0]];
            for (var i = 1; i < arr2.length; i++) {
                if (arr2[i] !== res[res.length - 1]) {
                    res.push(arr2[i]);
                }
            }
            return res;
        }
        var btm = [1, 1, 2, 2, 4, 5, 6, 2, 8, 2];
        console.log(array(btm));
    </script>
    4.利用下标去重
    <script>
        //利用下标查询
        function unique(arr) {
            var newArr = [arr[0]];
            for (var i = 1; i < arr.length; i++) {
                 if (newArr.indexOf(arr[i]) == -1) {
                    newArr.push(arr[i]);
                }
            }
            return newArr;
        }
        var btm = [1, 1, 2, 2, 4, 5, 6, 2, 8, 2];
        console.log(array(btm));
    </script>

猜你喜欢

转载自blog.csdn.net/weixin_43072453/article/details/82710978