目录javascript
var arr = new Array();//建立新的空数组
var arr = [1,2,3,4,5]; delete arr[2];//arr = [1,2,undefined,4,5];
delete能够删除,但只删除值,位置会被undefined填充,造成稀疏数组java
//查数组最后一位元素 console.log(arr[arr.length-1]); //经过更改length清空数组 arr.length = 0;
注:api
更改数组长度的方法在数组索引不为数字的时候length失效数组
在数组处在稀疏数组的状态,咱们经过length操做的时候会出问题函数
做用:可返回数组中某个指定元素的位置,若没有这个元素
就会返回-1学习
var arr = [2,5,6,8,9,10,13]; arr.indexOf(9);//返回4 arr.indexOf(7);//返回-1
push();
在数组的最后添加一个或多个值,返回数组的新的长度编码
pop();
删除而且返回数组最后一个元素code
unshift();
能够向数组的开头添加一个或者多个元素,返回新长度排序
shift();
删除数组的第一个元素,而且返回删除的元素索引
var arr = [5,6,7,8]; var info1 = arr.push(9);//arr=[5,6,7,8,9]; console,log(info1);//打印为5 var info2 = arr.pop();//arr = [5,6,7,8]; console,log(info2);//打印为9 var info3 = arr.unshift(4);//arr = [4,5,6,7,8]; console.log(info3);//打印为5 var info4 = arr.shift();//arr[5,6,7,8]; console.log(info4);//打印为4
做用:用于调用每一个元素,并将元素传递给回调函数
参数:forEach(callback);
callback有三个参数:
第一个表示正在处理的当前元素 (必选)
第二个参数表示数组中正在处理元素的索引值
第三个参数表示正在操做的数组
forEach();函数return值为undefined
var arr1 = [1,2,3,4,5,6]; var arr2 = []; arr1.forEach(function(item){ arr2.push(item); }) console.log(arr2);//[1,2,3,4,5,6]
做用:返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值
var arr1 = [2,4,6,8]; var info = arr1.map(function(item){ var num = item * 2; return item; }) console.log(info);//[4,8,12,16]
做用:接收一个函数做为累加器,数组中的每一个值(从左到右)开始缩减,最终计算为一个值。
这里的callback的参数多了一个:
accumulator:累加器(必选)
var arr = [2,4,6,8,9,10]; var info = arr.reduce(function(add,item){ return add + item; }) console.log(info);//39
做用:建立一个新的数组,新数组中的元素是经过检查指定数组中符和条件的全部元素
var arr1 = [1,2,3,5,6,8,9,12]; var info = arr1.filter(function(item){ if(item % 2 === 0){ return true; } }) console.log(info);//[2,6,8,12]
做用:用于检测数组,新数组中的全部元素是否都符合条件。
注:
若是数组中有一个元素不知足,则整个表达式返回false.且剩余元素不会进行检测。
若是全部元素都知足条件,则返回true。
var arr = [2,4,5,6,8,10]; //判断是否全是偶数 var info = arr.every(function(item){ if(item % 2 === 0){ return ; } }) console.log(info);//false
用于检测数组全部元素是否符和指定条件
注:
若是有一个知足条件,则表达式返回true,剩余的元素不会在执行检测
若是全部元素知足都知足条件,则返回false。
var arr = [2,4,5,6,8,10]; //判断是否有奇数 var info = arr.some(function(item){ if(item % 2 !== 0){ return; } })
用于把数组中的全部的元素转换成一个字符串
参数(可选):
指定一个字符串来分割数组的每一个元素。若是须要,将分割转换为字符串。 若是缺省该值,数组元素用逗号隔开,若是是空字符串(""),则全部元素之 间都没有任何字符。
var arr = ['hello','world','!']; var info = arr.join(''); console.log(info);//helloworld!
用于颠倒数组中元素的顺序(更改初始数组)
var arr = [4,56,87,2,3]; arr.reverse(); console.log(arr);//[3,2,87,56,4]
对数组进行排序(更改初始数组)
参数callback:
第一个用于比较的元素
第二个用于比较的元素
var arr = [4,56,87,2,3]; arr.sort(function(arg1,arg2){ return arg1 - arg2 ; }); console.log(arr);//[2,3,4,56,87];
用于链接两个或多个数组
var arr1 = ['a','b',2]; var arr2 = [1,'cb',45]; var info = arr1.concat(arr2); console.log(info);
可从已有的数组中返回选定的元素
两个参数:
began:开始的索引
end:结束的索引
tip: 包括开始不包括结束
var arr = [1,3,4,5,6,7]; var info = arr.slice(1,3); console.log(info);//[3,4];
用于添加或删除数组中的元素(会改变原数组)
内含三个参数:
第一个是开始的索引
第二个是选中元素的个数
第三个是添加的元素
var arr = [1,3,4,5,6,7]; var info = arr.splice(1,1,'a'); console.log(info);//3 console.log(arr);//[1,'a',4,5,6,7]
判断是否是数组
var arr = [1,3,4,5,6,7]; var info = Array.isArray(arr); console.log(info);//true
可返回指定位置的字符
var str = 'hello world'; var info = str.charAt(2); console.log(info);//l
可返回指定位置的字符的Unicode编码
var str = 'hello world'; var info = str.charCodeAt(2); console.log(info);//108
将多个字符串拼接
var str1 = 'hello'; var str2 = 'world'; var st3 = '!'; var info = str1.concat(str2,str3); console.log(info);//helloworld!
根据Unicode表的值建立一个字符
var str = String.fromCharCode(108); console.log(str);
能够返回一个字符在字符串中首次出现的位置
var str = 'hello world'; var info = str.indexOf('l'); console.log(info);//2
返回一个字符在字符串最后出现的位置
var str = 'hello world'; var info = str.lastIndexOf('l'); console.log(info);//9
能够在字符串中检索指定的值(能够和正则配合)
var str = 'hello world'; var info = str.match('o'); console.log(info);//Array[0:'o',index:4,input:'hello world',length:1]
能够在字符串当中使用一些字符替换另外一些字符(能够和正则搭配)
var str = 'hello world'; var info = str.replace('lo','**'); console.log(info);//hel** world
用于在字符串当中检索查找指定的字符(能够和正则配合)
var str = 'hello world'; var info = str.search('o'); console.log(info);//4
能够从字符串中截取指定的字符
var str = 'hello world'; var info = str.slice(1,3); console.log(info);//el
能够把字符串分割成字符串
参数:
第一个参数表示控制的切割符
第二个参数表示数组里面的长度(能够存入几个数据)
var str = 'hello world !'; var info = str.split(' ',2); console.log(info);//['hello','world'];
能够从字符串当中抽取从开始位置指定的个数的字符
参数:
第一个是截取位置
第二个是截取长度
var str = 'hello world'; var info = str.substr(2,2); console.log(info);//ll
从开始和结束的中间截取字符串。
var str = 'hello world'; var info = str.substring(1,3); console.log(info);//el
把字符串中的字符小写
var str = 'HELLO WOLRD'; var info = str.toLowerCase(); console.log(info);//hello wolrd;
把字符串大写
var str = 'hello world'; var info = str.toUpperCase(); console.log(info);//HELLO WORLD