javascript基础——数组、新建数组、访问数组、遍历数组的方法、数组对象的方法、冒泡排序算法、自定义对象

数组

是可以在内存中连续存储多个元素的结构

数组的下标索引从0开始,通过length可获取数组的总长度。取值范围 [0 , myarr.length-1] 

 新建数组

 1.新建一个长度为零的数组

    var 变量名=new Array( );

2.新建一个长度为N的数组

   var 变量名=new Array( n );

3.新建一个指定长度的数组,并赋值

   var 变量名=new Array( 元素1,元素2,元素3,…);

4.字面量数组

    var myarr=[数值1,数值2];     //直接输入一个数组

访问数组

为数组元素赋值:数组变量[i]=值;

使用数组元素为变量赋值:变量名=数组变量[i];

遍历数组的方法

1、for循环
   for(var i=0;i<数组名.length-1;i++){
          console.log(arr[i]);
   }
2、for…in 语句格式:
   for(var 变量名 in 数组名){
          循环体语句
    }
3、forEach方法
   forEach(function(item, i, arr){
          console.log(item);
   })
4、map方法
   var arr = arr.map(function(item, i, arr) {
          console.log(item);
   });

 数组对象的方法 

  • pop()      删除最后一个元素,返回最后一个元素
  • shift()  删除第一个元素,返回第一个元素
  • push(元素1,元素2...)   在尾部添加元素1,元素2...     返回值为数组长度
  • unshift(元素1,元素2...)   在头部添加元素1,元素2...     返回值为数组长度
  • sort()     括号里面必须是函数,不指定<方法函数>,则按unicode码顺序排列
  • reverse()颠倒数组顺序
  • concat()连接两个或多个数组或者元素   返回值为新数组  
  • join()把数组中的所有元素放入一个字符串,返回值为字符串,                                                       若括号里面为(),字符串之间默认用逗号;                                                                       若为(" "),字符串之间用空格隔开;                                                                                     若为(""),字符串之间紧挨着
  • indexOf() 
        去重函数封装
        var arr = [32, 42, 11, 32, 44, 42, 55, 44];
        var newArr = [];
        function noRepeat(arr) {
            for (var a = 0; a < arr.length; a++) {
                var item = arr[a];
                if (newArr.indexOf(item) == -1) {
                    newArr.push(item);
                }
            }
            return newArr;
        }
        var a = [32, 42, 11, 32, 44, 42, 55, 44];
        document.write(noRepeat(a) + "
");
  • filter()        返回值为新数组(过滤)
var arr=[70,50,60,50];
var a=arr.filter(function(item,i,arr){
   return item>60;
});
或者写成
var arr=[70,50,60,50];
var a=arr.filter((item)=>item >=80);

filter去重

javascript基础——数组、新建数组、访问数组、遍历数组的方法、数组对象的方法、冒泡排序算法、自定义对象_第1张图片

  • splice(参数1,参数2,参数3) 返回值:删除的元素构成的数组  参数1:开始删除/添                                                    加元素的位置;参数2:删除个数;参数3:添加的元素

splice去重

javascript基础——数组、新建数组、访问数组、遍历数组的方法、数组对象的方法、冒泡排序算法、自定义对象_第2张图片

  • reduce()            迭代求和
var myarr=[1,3,5,7];
var res=myarr.reduce(function(total,item,i,arr){
        return total+item;
},0)
console.log(res);

冒泡排序算法

1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。

2.对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元     素应该会是最大的数。

3.针对所有的元素重复以上的步骤,除了最后一个。

4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

        冒泡函数封装
        var arr = [9, 2, 33, 66, 55, 34, 1, 91, 88];
        function sort(arr) {
            for (var i = 0; i < arr.length; i++) {
                for (var j = 0; j < arr.length - i; j++) {
                    if (arr[j + 1] > arr[j]) {
                        var cont = arr[j];
                        arr[j] = arr[j + 1];
                        arr[j + 1] = cont
                    }
                }
            }
            return arr;
        }
        var a = [9, 2, 33, 66, 55, 34, 1, 91, 88];
        document.write(sort(a));

自定义对象 

创建对象

1、构造函数

var obj=new Object();
 obj.属性名 = 属性值;
 obj["属性名"]=属性值;
 obj.方法名=function(){
 }

2、字面量

var obj = {};空对象 
var obj = {
  属性名:属性值
  方法名:function(){}
}

3、json

json(java Script Object Notation)
javaScropt的对象表示法
 
字符串转换为json 反序列化
JSON.parse(str)
 
把json数据转换为字符串
JSON.stringify(str) 序列化

你可能感兴趣的