您好,欢迎访问一九零五行业门户网

JS中常用到数组操作

改变原始数组的操作方法:push:向数组末尾添加元素,并返回新的长度
pop:删除最后一个并返回删除的元素
unshift:向数组开头添加元素,并返回新的长度
shift:将第一个元素删除并且返回删除元素,空即为undefined
reverse:颠倒数组顺序
sort:对数组排序
splice:删,增,替换数组元素,返回被删除数组,无删除则不返回
不会改变原始数组的操作方法:concat:连接多个数组,返回新的数组
join:将数组中所有元素以参数作为分隔符放入一个字符
slice:返回选定元素
map(es6):数组映射为新的数组
filter(es6):数组过滤,返回所有通过方法判断后(判断为true时)生成的新数组
foreach:数组遍历,没有返回值
every(es6):对数组中的每一项运行给定函数,如每一项均为true时返回true,否则返回false
some(es6):数组中的的元素运行给定函数,如其中有一项为true时返回true,此时剩余的元素不会再执行检测,如果所以都为false则返回false
find(es6):寻找数组中符合测试方法(函数)条件的第一个元素,并且返回该元素
reduce(es6):方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
indexof:  方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。
includes(es7):方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回true,否则返回false。
使用// 连接数组 //concat方法 var array1 = ['a', 'b', 'c']; var array2 = ['d', 'e', 'f']; array1.concat(array2); // [a, b, c, d, e, f] // 展开运算符方法 [...array1, ...array2] // [a, b, c, d, e, f] //循环 var arr = ['a', 'b', 'c']; arr.foreach(function(element, index) {   console.log(element + ',' + index); }); // a , 0 // b , 1 // c , 2 // 箭头函数写法 arr.foreach((element,index) => console.log(element,index)); //循环映射(map) var numbers = [1, 5, 10, 15]; let doubles = numbers.map((item, index) => item * 2); // [2, 10, 20, 30] // 数组是否元素包含(includes) let a = [1, 2, 3]; a.includes(2); // true a.includes(4); // false //查找元素(find) //查找数组中大于等于15的元素,并且返回第一个元素 var ret = [12, 5, 8, 130, 44].find(function(element) {     return element >= 15; // 方法需要有返回值,判断得出true或者false,返回为true的元素   } ); // 130 // 过滤数组(filter) // 过滤数组中大于等于10的元素并且返回新数组 var filtered = [12, 5, 8, 130, 44].filter(function(value) {     return value >= 10; // 方法需要有返回值,判断得出true或者false,返回为true的元素   } ); // [12, 130, 44] // 循环判断(every) 为每个元素都执行 var passed = [12, 5, 8, 130, 44].every(function (element, index, array) {   return (element >= 10); }); // false // 循环判断(some) 遇到返回值为true的就停止执行 var passed = [12, 5, 8, 130, 44].some(function (element, index, array) {   return (element >= 10); }); // true // 数组截取(slice) 不改变原数组 var animals = ['ant', 'bison', 'camel', 'duck', 'elephant']; animals.slice(2)  // [camel, duck, elephant]  返回数组从下标2开始直到结尾的一个新数组 animals.slice(2, 4)  //[camel, duck]  返回数组从下标2到4之间到一个新数组 // 数组减接(splice)  改变原数组 var myfish = ['angel', 'clown', 'mandarin', 'sturgeon']; myfish.splice(2, 0, 'drum'); // [angel, clown, drum, mandarin, sturgeon]    0为删减个数,在索引为2的位置不删减并且插入'drum' myfish.splice(2, 1); //  [angel, clown, mandarin, sturgeon]       从索引为2的位置删除1项(也就是'drum'这一项) // 使用 lastindexof var array = [2, 5, 9, 2]; var index = array.lastindexof(2); // index === 3 var index = array.lastindexof(8); // index === -1 // 数组转字符串(join) let a = ['wind', 'rain', 'fire']; a.join() //默认为逗号分隔 // 'wind,rain,fire' a.join(-) // 用 - 分隔 // 'wind-rain-fire' // es6 数组去重 let array = [1, 1, 1, 1, 2, 3, 4, 4, 5, 3]; let set = new set(array); let newarr = array.from(set); // newarr === [1, 2, 3, 4, 5]
相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!
推荐阅读:
前端中怎样设置cookie
前端中如何阻止事件传播
以上就是js中常用到数组操作的详细内容。
其它类似信息

推荐信息