是可以在内存中连续存储多个元素的结构
数组的下标索引从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去重
- splice(参数1,参数2,参数3) 返回值:删除的元素构成的数组 参数1:开始删除/添 加元素的位置;参数2:删除个数;参数3:添加的元素
splice去重
- 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) 序列化