改变原始数组的操作方法:
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]
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
以上是JS中常用到数组操作的详细内容。更多信息请关注PHP中文网其他相关文章!

去掉重复并排序的方法:1、使用“Array.from(new Set(arr))”或者“[…new Set(arr)]”语句,去掉数组中的重复元素,返回去重后的新数组;2、利用sort()对去重数组进行排序,语法“去重数组.sort()”。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于Symbol类型、隐藏属性及全局注册表的相关问题,包括了Symbol类型的描述、Symbol不会隐式转字符串等问题,下面一起来看一下,希望对大家有帮助。

怎么制作文字轮播与图片轮播?大家第一想到的是不是利用js,其实利用纯CSS也能实现文字轮播与图片轮播,下面来看看实现方法,希望对大家有所帮助!

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于对象的构造函数和new操作符,构造函数是所有对象的成员方法中,最早被调用的那个,下面一起来看一下吧,希望对大家有帮助。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于面向对象的相关问题,包括了属性描述符、数据描述符、存取描述符等等内容,下面一起来看一下,希望对大家有帮助。

方法:1、利用“点击元素对象.unbind("click");”方法,该方法可以移除被选元素的事件处理程序;2、利用“点击元素对象.off("click");”方法,该方法可以移除通过on()方法添加的事件处理程序。

foreach不是es6的方法。foreach是es3中一个遍历数组的方法,可以调用数组的每个元素,并将元素传给回调函数进行处理,语法“array.forEach(function(当前元素,索引,数组){...})”;该方法不处理空数组。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于BOM操作的相关问题,包括了window对象的常见事件、JavaScript执行机制等等相关内容,下面一起来看一下,希望对大家有帮助。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

SublimeText3 Linux新版
SublimeText3 Linux最新版

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),