数组的操作
1、push: 向尾部添加一个或多个元素,并返回新的长度
var arr=[1,2,3,4,5];arr.push(6,7);结果:7arr=[1,2,3,4,5,6,7]
2、unshift :向头部添加一个或多个元素,并返回新的长度
var arr=[1,2,3,4,5];arr.unshift(0,0);结果:7arr=[0,0,1,2,3,4,5]
3、pop:删除并返回最后一个元素
var arr=[1,2,3,4,5];arr.pop();结果:5arr=[1,2,3,4]
4、concat:连接数组
var arr=[1,2,3,4,5];var arr2=[6,7]arr.concat(arr2);结果:[1,2,3,4,5,6,7]
5、splice(起始下标位置,删除的个数,替换的元素):插入,删除,替换元素
var arr=[1,2,3,4,5];arr.splice(0,2,1);结果:[1,2]arr=[1,3,4,5]
6、slice:从已有的数组中返回选定的数组
var arr=[1,2,3,4,5];arr.slice(1,3)结果:[2,3]arr3.slice(开始位置,结束位置) 包含开始,不包含结束
7、indexOf:在数组中搜索指定元素的位置,存在返回下标,不存在返回-1
var arr=[1,2,3,4,5];arr,indexOf(3)结果:2arr.indexOf(6)结果:-1
8、reverse:颠倒数组中元素的顺序
var arr=[1,2,3,4,5];arr.reverse()结果:[5,4,3,2,1]
数组的迭代
var arr=[1,2,3,4,5];
1.forEach 格式:forEach(function(value,index,arr){}) value 数值、 index 下标、 arr 原数组
var arr=[1,2,3,4,5];arr.forEach(function(value,index,arr){console.log(value+"____下标"+index+"____原数组"+"arr")});
2、map()映射,原数组名.map(function(value,index,arr){})
var arr=[1,2,3,4,5];var result= arr.map(function(value,index,arr){return value*2;});console.log(result);//[2,4,6,8,10]
3、every(每个) every(function(value,index,arr){}) :数组元素全部满足条件返回true,否则返回false
var arr=[1,2,3,4,5];var result=arr.every(function(value){return value % 2==0;})console.log(result);//false
4、some(一些):只要一个元素满足条件,则返回true,否则返回false
var arr=[1,2,3,4,5];var result=arr.some(function(value){return value % 2==0;})console.log(result);//true
5、filter(过滤):把当前符合条件的值返回,不符合条件的进行过滤
var arr=[1,2,3,4,5];var result = arr.filter(function(value){return value % 2 ==0;})console.log(result);//[2,4]
ES6: function(){} 的新写法 ()=>{}
()=>{} 使用箭头函数 当是一个值的时候可以省略,多个值必须加小括号var result=arr.filter(value=>{return value >2;})console.log(result);//[3,4,5]
6、reduce (累加) reduce((initValue, currentValue, index,arr)=>{},设定初始值)
initValue 初始化值 如果设置那第一个值就为初始值,如果不设置数组第一个值为初始值currentValue 当前值var arr2=[1,6,9,4,2];var result = arr2.reduce((initValue,currentValue)=>{console.log(initValue,currentValue);//1 6//undefined 9//undefined 4//undefined 2})console.log(result);//undefined
7、split() 把字符串转化为数组
var str="Hello YYL";var res=str.split("");//以“ ”分割console.log(res);//["H","e","l","l"," ",....]
8、reverse(反转数组)
var num=[1,2,3,4,5];var r=num.reverse();console.log(r);//[4,3,2,1,]
9、join 连接数组 可以把数组转换成字符串
var String = num + "";var str1=num.join("*");console.log(str1);//5***4***3***2***1
10、链式调用 用点(.) 进行连接 str3.split(“”).reverse().join(“”);
var str3="你好,李焕英";var str1=str3.split("").reverse().join("");//先转换成数组,再反转,再转换成字符串console.log(str1);//英焕李,好你
