在日常工作中大家对数组肯定是不会陌生的,也经常会用到数组对象的属性和方法。下面是我整理和总结的一些关于数组的方法和使用,希望对大家有用。
var arr = [1,2,3,4,5]
arr.shift(); //删除数组第一项 并返回此元素
arr.unshift(0); //往数组的开头添加一个或者多个元素 返回的是新的数组的长度
arr.push(9); //往数组最后插入一项或者多项 并返回数组的新长度
arr.pop(); //删除数组的最后一项 并返回此元素
arr.join(’,’); //将数组通过’,'拼接成一个字符串
arr.slice(1,2); //返回数组中选定的元素 前闭后开 这里返回的是 [2]
arr.splice(1,2,6,7,8);//向数组中添加/删除项目,然后返回被删除的项目,第一个参数是指的开始位置,第二个参数
是指的需要删的个数,后面的参数是指往数组里新增的元素 这里返回的是 [2,3], 执行此方法后arr会变成 [1, 6, 7, 8, 4, 5]
arr.sort( someFunction ) //对数组进行排序 需要传入一个排序函数 someFunction 就是具体的排序处理函数
arr.concat(arr1,arr2,arr3) //将多个数组合并成一个数组并且返回合并后的新数组
注:此方法不会改变现有的数组 es6中的新写法 […arr1, …arr2, …arr3] 美滋滋
arr.reverse() //颠倒数组中元素的顺序 顾名思义 就是将数组的元素进行颠倒 注:该方法会改变原来的数组,而不会创建新的数组
arr.toString() //把数组转换为字符串并返回结果 注:返回值与没有参数的 join() 方法返回的字符串相同
arr.copyWithin(target, start, end) //从数组的指定位置拷贝元素到数组的另一个指定位置中
//target 必需。复制到指定目标索引位置。
//start 可选。元素复制的起始位置。
//end 可选。停止复制的索引位置 (默认为 array.length)。如果为负值,表示倒数。
arr.every( checkFunction ) //检测数值元素的每个元素是否都符合条件 checkFunction 为检测的函数
arr.some( checkFunction ) //检测数组元素中是否有元素符合指定条件 checkFunction 为检测的函数
arr.fill() //使用一个固定值来填充数组
arr.filter( checkFunction ) //检测数值元素,并返回符合条件所有元素的数组 数组过滤
arr.find( checkFunction ) //返回通过测试(函数内判断)的数组的第一个元素的值
arr.findIndex( checkFunction ) //返回通过测试(函数内判断)的数组的第一个元素索引位置
arr.forEach( myFunction ) // forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数
var myArr = Array.from(“RUNOOB”); //通过字符串创建一个数组 数组 myArr 为 [R,U,N,O,O,B]
arr.includes() //判断一个数组是否包含一个指定的值,如果是返回 true,否则false
arr.indexOf() // 可返回数组中某个指定的元素位置。
arr.lastIndexOf() //返回一个指定的元素在数组中最后出现的位置,在一个数组中的指定位置从后向前搜索
arr.isArray() //判断一个对象是否为数组 如果对象是数组返回 true,否则返回 false
arr.map( myFunction ) //返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值
arr.reduce( myFunction ) reduce()方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值
array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
//total 必需。初始值, 或者计算结束后的返回值。
//currentValue 必需。当前元素
//currentIndex 可选。当前元素的索引
//arr 可选。当前元素所属的数组对象
arr.reduceRight( myFunction ) //功能和 reduce() 功能是一样的,不同的是 reduceRight() 从数组的末尾向前将数组中的数组项做累加