JS数组、函数

数组
1.创建数组: var 数组名 =Array();(了解就好)
2.利用数组字面量创建数组[ ]例:var arr=[ ];JS里面的数组可以存放任何数据类型的数据。但是数据一定要用逗号隔开。
3.获取数组长度:数组名.length
4.通过修改数组长度实现数组扩容 例:arr.length=7;其中没有赋值的元素为空即为undefined。
5.追加数组元素var arr1 =['red' ,'green','blue']; arr1[3]='pink'; console.long(arr1); 6.不要直接给数组名赋值,否则里面的元素全部被覆盖,数组的数据类型也变成单个变量,赋的啥类型该数组名就成啥类型的变量。
7.对元素直接赋值就是替换元素的值。

检测是否为数组

//1.intanceof 运算符 用来检测是否为数组
var arr =[];
console.log(arr intanceof Array);//判断arr是否是数组(Array)此处返回true
//2.Array.isArray(参数);H5新增ie9以上支持
console.log(Array.isArray(arr));

添加和删除数组元素的方法

//1.push()在数组末尾添加一个或多个数组元素
var arr=[1,2,3];
arr.push(4,'pink');//得到新的数组arr=[1,2,3,4,'pink']
console.log(arr);//此处结果为5,因为push完之后返回结果为数组的长度
//2.unshift在数组的开头添加一个或多个数组元素,用法性质同上
//3.pop()删除数组的最后一个元素
arr.pop();
console.log(arr);
//pop返回的结果是所删除的元素
//一次只能删除一个元素
//pop后面没有参数
//4.shift()删除数组第一个元素,性质方法同上

数组排序

方法名

说明

是否修改原数组

reverse

颠倒数组中元素的顺序,无参数

该方法会改变原来的数组 返回新数组

sort()

对数组的元素进行排序

该方法会改变原来的数组 返回新数组

/*var arr=[3,4,6,5];
  arr.sort()  在这个排序中是按照元素第一个数字大小进行排序的,所以位数高时不合理
console.log(arr);//得到arr=[3,4,5,6];*/
解决办法
var arr=[1,55,33,7,45,12];
arr.sort(function(a,b){
	//return a-b;从大到小排序
	return b-a;//从小到大排序
})
console.log(arr);

数组索引

1.indexOf(数组元素) 返回该数组元素的索引号,从头开始查找
var arr=['blue','red','red','pink'];
console.log(arr.indexOf('red'));//返回的是1,只返回第一个满足条件的索引号
//如果找不到该元素,则返回-1
而lastindexOf(数组元素)则是从后面开始查找,性质功能同上。

利用数组索引实现数组重复元素删除的案例

function unique(arr){
	var newArr=[];
	for(var i=0;i<arr.length;i++){
	if(newArr.indexOf(arr[i])===-1){
	newArr.push(arr[i]);
	}
}
return newArr;
}

数组转换为字符串

1.toString()将数组转换为字符串
var arr[1,2,3];
console.log(arr.toString());//得到字符串1,2,3
2.join(分隔符)
var arr=['asc','csa','sac','acs'];
arr.join(arr1.join('-'));//得到asc-csa-sac-acs

函数
1.function声明函数的关键字
2.函数名一般是动词
3.函数的参数可以有也可以没有,个数不限
4.函数名后面括号内的形参可以多个,但是要用逗号隔开。并且函数内的形参是不用声明的变量
5.如果实参的个数多余形参的个数,那么会取到形参的个数
6.当形参个数多于实参的个数,那么多出来的形参为undefined,结果为NaN
7.只要函数遇到return就把后面的结果返回给函数调用者 函数名()=return后面的结果 例:function getResult(){return 666;} getResult();//注:getResult()=666// console.long(getResult()); 8.在实际的开发中我们经常用一个变量来接受函数的返回结果。
9.return终止函数,return后面的代码不会被执行。return 只能返回一个值,返回的结果是最后一个值。但是return可以返回数组,很多时候用数组比较方便。
10.如果有return则返回return后面的值,如果没有那么返回undefined。
11 js中arguments的用法
Javascrip中每个函数都会有一个Arguments对象实例arguments,它引用着函数的实参,可以用数组下标的方式"[]"引用arguments的元素。arguments.length为函数实参个数,arguments.callee引用函数自身。

/*利用函数求任意个数的最大值*/
function getMax(){
	var max=arguments[0];
	for (var i=1;i<arguments.length;i++){
		if(arguments[i]>max){
			max=arguments[i];}}
	return max;}
consloe.long(getMax(1,2,3));
consloe.long(getMax(1,2,3,4,5));
consloe.long(getMax(1,2,3,4,5,6,6,7,8,9));

12.另一种函数声明方式,函数表达式。例:var 变量名=function(){}; 其类似于变量声明。