关于数组方法 2020.06.06
一、数组
1. 数组的操作方法
var a = [];
- a.unshift() /*在数组的开头添加一个或者多个元素,返回新长度;IE9+*/
- a.shift() /*删除数组中的第一个元素,返回删除的元素*/
- a.push() /*往数组的末尾添加一个或多个元素,返回新长度*/
- a.pop() /*删除并返回数组的最后一个元素*/
- a.slice('start', 'end') /*不修改原数组,返回一个新数组*/
- a.concat() /*不修改原数组,返回一个新数组。不传参数时,复制数组;传参数时连接数组,可以有多个数组参数;*/
- a.splice() /*删除数组:两个参数,第一个是开始的位置,第二个是删除的长度
插入元素:至少3个参数,第一个是开始的位置,第二个是0,后面是要插入的元素(可以有多个)
替换元素:至少3个参数,第一个是开的位置,第二个是替换的个数,后面是要替换的元素*/
- a.reverse() /*反转数组*/
- a.sort() /*用特定的方法对数组进行排列,接收一个排序函数,该函数接收两个参数,
如果第一个参数在前面,返回一个负数;如果第二个参数在前面,返回一个正数;如果两个参数相等,返回0*/
- a.indexOf() /*在数组中查找元素,两个参数,第一个参数时要查找的元素;第二个参数是要开始查找的位置(该参数可以没有)*/
- a.lastIndexOf() /*从数组的后面开始查找元素,与indexOf相同,只是查找方向不同*/
- a.join() /*把数组格式化成字符串,接收一个参数,即:分隔符。如果不传参数或传入undefined,则以逗号分隔*/
- a.toString() /*返回以逗号为分隔符的数组中的元素组成的字符串*/
- a instanceof Array /*检测是否为数组,如果是,返回true*/
- Array.isArray(a) /*检测是否为数组,如果是,返回true。IE9+*/
- forEach(function (ele,index){console.log(ele,index)}); 方法:遍历数组,传入一个回调函数,里面有三个参数,第一个是元素值,第二个是索引,第三个是数组
- every(function (ele){return ele > 20}); 传入一个回调函数,返回值是boolean类型值
var arr=[1,8,2,4,6,7,9,2,55,11,2,0,3]; var a=arr.erery(function(arr1){return arr1>3})//只要有元素小于3就是false console.log(a); //false 数组里只要有一个数字小于3就返回false
- map(function (ele){return ele + 10}); 或 map(Math.sprt); 让数组中的每一个元素按照函数的方法去执行,返回一个新的数组
- filter(functoon (ele){return ele < 50}); 起到过滤作用, 让数组中的每一个元素按照函数的方法去执行,把符合条件的元素放到一个新的数组中返回
- eval(arr.join('+')); 如果数组中的每一项都是数字的话,用这个方法可以求数组中的数字之和
var arr = [2,3,5,8,10];
var a = eval(arr.join('+'));
console.log(a); //28
2. 关于原数组
- 改变原数组的:
- shift:将第一个元素删除并且返回删除元素,空即为undefined
- unshift:向数组开头添加元素,并返回新的长度
- pop:删除最后一个并返回删除的元素
- push:向数组末尾添加元素,并返回新的长度
- reverse:颠倒数组顺序
- sort:对数组排序
- splice:splice(start,length,item)删,增,替换数组元素,返回被删除数组,无删除则不返回
- 不改变原数组的:
- concat:连接多个数组,返回新的数组
- join:将数组中所有元素以参数作为分隔符放入一个字符
- slice:slice(start,end),返回选定元素
- map,filter,forEach,some,every等不改变原数组
浙公网安备 33010602011771号