本文主要面向前端网页开发的用户和读者,详细介绍了JavaScript中数组函数的应用。
释义:用于将新素添加到数组的末尾,并返回新的数组长度。
语法:
- array 是要添加素的数组。
- element1, …, elementN 是要添加到数组末尾的素。
- 可以添加多个素。
示例:
释义:用于移除数组中的最后一个素,并返回该素的值。
语法:
示例:
应用场景:pop() 方法通常用于需要从数组末尾移除素的场景,例如实现一个栈(后进先出)数据结构时。在栈的实现中,push() 方法用于添加素到栈顶,而 pop() 方法则用于移除并返回栈顶的素。
释义:用于移除数组中的第一个素,并返回该素的值。同时,数组的长度会相应减少1,其余素会向前移动一位以填补被移除素的位置。
语法:
示例:
应用场景:shift() 方法常用于需要按先进先出(FIFO)顺序处理素的场景,例如任务队列、消息队列等。然而,在性能敏感的场合,应考虑使用更适合这种操作的数据结构。
释义: 用于在数组的开头添加一个或多个素,并返回新的数组长度。
语法:
- element1, …, elementN:这些参数代表要添加到数组开头的素。你可以一次性添加多个素。
示例:
释义:用于测试数组的所有素是否都通过了指定函数的测试。如果数组中每个素都执行了提供的函数,并且都返回 true,则 every() 方法返回 true;否则,它返回 false。
语法:
- currentValue:数组中当前正在处理的素。
- index(可选):当前素的索引。
- arr(可选):调用 every()方法的数组对象。
- thisValue(可选):当执行回调函数时,用作 this 的值。如果省略了这个参数,this 的值在非严格模式下将是全局对象(在浏览器中通常是 window),而在严格模式(‘use strict’;)下将是 undefined。
示例:
释义:用于从一个已有的数组中返回一个浅拷贝的新数组对象,该新数组对象包含从原数组中选定的素。这个方法不会修改原数组,而是返回一个新数组。
语法:
- begin(可选):指定从哪个索引位置开始提取。如果该参数为负数,则表示从数组末尾开始的第几个素开始提取。如果省略该参数,则默认从索引0开始。
- end(可选):指定提取到哪个索引位置结束(不包括该索引位置的素)。如果该参数为负数,则表示提取到数组末尾倒数第几个素之前。如果省略该参数,则默认提取到数组末尾。
示例:
释义:允许在数组中添加、删除或替换现有素。与 slice() 方法不同,splice() 会直接修改原数组,并返回由被删除素组成的新数组(如果没有删除素,则返回空数组)。
语法:
- start:指定修改的开始位置(索引)。如果该索引为负,则表示从数组末尾开始的第几个位置。
- deleteCount(可选):一个整数,表示要移除的数组素的个数。如果 deleteCount 是 0 或省略,则不会移除素。在这种情况下,你至少应该指定一个要添加的新素。如果 deleteCount 大于实际要删除的素个数,则所有从 start 位置开始的素都会被删除。
- item1, item2, …(可选):要添加进数组的素,从 start 位置开始。如果不指定,则 splice() 将只删除数组素。
示例:
应用场景:splice() 方法非常适用于需要在数组中间添加、删除或替换素的场景。由于它会直接修改原数组,因此在使用时需要注意这一点,以避免对原始数据造成意外的修改。
释义:是一个高阶函数,它创建一个新数组,其结果是该数组中的每个素都调用一个提供的函数后返回的结果。map() 方法不会改变原始数组,而是返回一个新数组。(常用)
语法:
- callback:生成新数组素的回调函数,该函数可以接收三个参数:
- currentValue:数组中正在处理的当前素。
- index(可选):数组中正在处理的当前素的索引。
- array(可选):调用 map() 方法的数组。
- thisArg(可选):执行 callback 函数时 this 关键字被设置的的值。如果没有提供此参数,则 this 的值在非严格模式下将是全局对象,而在严格模式(use strict)下将是 undefined。(不常用)
示例:
应用场景:在实际开发中,需要对对象数组中的属性处理后,输出新的对象数组。
释义:是一个高阶函数,filter() 方法会遍历数组中的每个素,并对每个素执行提供的回调函数。如果回调函数返回 true,则该素会被包含在返回的新数组中;如果返回 false,则该素会被排除。
语法:
callback:用来测试每个素的回调函数,该函数可以接收三个参数:
- currentValue:数组中正在处理的当前素。
- index(可选):数组中正在处理的当前素的索引。
- array(可选):调用 filter() 方法的数组。
thisArg(可选):执行 callback 函数时 this 关键字被设置的的值。如果没有提供此参数,则 this 的值在非严格模式下将是全局对象,而在严格模式(use strict)下将是 undefined。
示例:
应用场景:filter() 方法非常适合于从数组中筛选出满足特定条件的素,并返回一个新数组。
释义:用于查找数组中满足提供的测试函数的第一个素。它返回数组中满足提供的测试函数的第一个素的值。如果没有找到,则返回 undefined。
语法:
callback:在数组每一项上执行的函数,接收三个参数:
- currentValue:数组中正在处理的当前素。
- index(可选):数组中正在处理的当前素的索引。
- array(可选):调用 find() 方法的数组。
thisArg(可选):执行 callback 函数时 this 关键字被设置的的值。如果没有提供此参数,则 this 的值在非严格模式下将是全局对象,而在严格模式(use strict)下将是 undefined。
示例:
应用场景:find() 方法非常适合于从数组中查找满足特定条件的第一个素。
释义:对数组中的每个素执行一个提供的函数(升级函数),将其结果汇总为单个值。这个方法非常强大,可以用于执行各种数据转换和汇总操作。
语法:
callback:执行数组中每个值的函数,包含四个参数:
- accumulator:累计器累计回调的返回值。它是上一次调用回调时返回的累积值,或者是 initialValue(如果提供了的话)。
- currentValue:数组中正在处理的当前素。
- index(可选):数组中正在处理的当前素的索引。如果提供了 initialValue,则索引从0开始;否则从1开始。
- array(可选):调用 reduce() 方法的数组。
initialValue(可选):作为第一次调用 callback 函数时的第一个参数的值。如果没有提供初始值,则将使用数组的第一个素作为初始值,同时 callback 将从第二个素开始执行。
示例:
应用场景:reduce() 方法非常适合于执行数组素的累积操作,如求和、求积、连接字符串等,以及更复杂的数组转换和汇总操作。
释义:用于遍历数组中的每一个素,并对每个素执行一次提供的函数。这个方法不会改变原始数组,也不会返回新的数组,它只是用于执行副作用(即在函数内部执行某些操作,如打印输出、修改外部变量等)。
语法:
callback:为数组中每个素执行的函数,该函数接收三个参数:
- currentValue:数组中正在处理的当前素。
- index(可选):数组中正在处理的当前素的索引。
- array(可选):调用 forEach() 方法的数组。
thisArg(可选):当执行回调函数时,用作 this 的值。如果没有提供此参数,则 this 的值在非严格模式下将是全局对象(在浏览器中通常是 window),而在严格模式(use strict)下将是 undefined。
示例:
JavaScript提供了大量能使我们快速便捷地处理数据的函数和方法,在我们的日常开发中,有时会结合需求和业务场景,组合使用不同的函数来实现复杂的功能逻辑。
以上内容就是这些,如有缺漏或不足欢迎指正和补充。
今天的文章 js数组方法有哪些(js数组方法哪些不能改变自身数组)分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/5202.html