JavaScript数组常用方法包括什么,基本的使用是怎样
Admin 2022-07-06 群英技术资讯 765 次浏览
很多朋友都对“JavaScript数组常用方法包括什么,基本的使用是怎样”的内容比较感兴趣,对此小编整理了相关的知识分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获,那么感兴趣的朋友就继续往下看吧!数组方法有太多了,本文记录一些本人容易记错的一些数组方法,用于巩固及复习。
后续会慢慢的将其他数组方法添加进来。
善用数组方法可以使数据处理变的优雅且简单。
那下面让我们开始吧:
描述:
filter() 方法创建一个新数组,并将符合条件的所有元素添加到创建的新数组中。
语法:
Array.filter(callback(element, index, array) { // 函数体 }, thisValue)
参数:
callback与thisValue:
| | 参数 | 是否可选 | 描述 |
|---|---|---|---|
| 参数一 | callback | 必选 | 用来测试数组的每个元素的函数。返回 true 表示该元素通过测试,保留该元素,false 则不保留。它接收三个参数。 |
| 参数二 | thisValue | 可选 | 执行 callback 时,用于 this 的值。 对象作为该执行回调时使用,传递给函数。 如果省略了 thisValue ,"this" 的值为 "undefined" |
callback的参数列表:
| | 参数 | 是否可选 | 描述 |
|---|---|---|---|
| 参数一 | element | 必选 | 当前元素 |
| 参数二 | index | 可选 | 当前元素的索引值 |
| 参数三 | array | 可选 | 调用了 filter 的数组本身 |
thisValue的参数:
执行 callback 时,用于 this 的值。
返回值:
是一个由 filter() 参数一函数的返回值组成的新数组
示例:
let users = [
{id: 11, name: "孙悟空"},
{id: 21, name: "猪八戒"},
{id: 31, name: "沙和尚"}
];
// 返回前两个用户的数组
let filterUsers = users.filter(item => item.id < 31);
console.log(filterUsers.length); // 2
描述:
map() 方法创建一个新数组,新数组的每个元素是调用一次给定函数的返回值。
语法:
Array.map(callback(currentValue, index, array) { // 函数体 }, thisValue)
参数:
callback与thisValue
| | 参数 | 是否可选 | 描述 |
|---|---|---|---|
| 参数一 | callback | 必选 | 数组中的每个元素都要运行的回调函数。它接收三个参数。 |
| 参数二 | thisValue | 可选 | 执行 callback 时,用于 this 的值。 对象作为该执行回调时使用,传递给函数。 如果省略了 thisValue ,"this" 的值为 "undefined" |
callback的参数列表:
| | 参数 | 是否可选 | 描述 |
|---|---|---|---|
| 参数一 | element | 必选 | 当前元素 |
| 参数二 | index | 可选 | 当前元素的索引值 |
| 参数三 | array | 可选 | 调用了 filter 的数组本身 |
thisValue的参数:
执行 callback 时,用于 this 的值。
返回值:
是一个由原数组每个元素执行回调函数的结果组成的新数组。
示例:
let number = [1, 2, 3].map(item => item + 1); console.log(lengths); // 2, 3, 4
描述:
map() 方法在原数组上进行修改更改元素的顺序
注:默认排序顺序是在将元素转换为字符串,然后比较它们的UTF-16代码单元值序列时
语法:
Array.sort( compareFunction )
参数:
compareFunction
| | 参数 | 是否可选 | 描述 |
|---|---|---|---|
| 参数一 | compareFunction | 可选 | 规定排列顺序的函数。如果省略,元素按照转换为的字符串的各个字符的Unicode位点进行排序。 |
compareFunction的参数列表:
| | 参数 | 是否可选 | 描述 |
|---|---|---|---|
| 参数一 | firstEl | 必选 | 第一个用于比较的元素。 |
| 参数二 | secondEl | 必选 | 第二个用于比较的元素。 |
compareFunction返回值
返回一个说明这两个值顺序的数字
返回值:
返回值为排序后的数组,但是返回值通常会被忽略,因为修改了原数组。
示例:
let number = [1, 2, 3].map(item => item + 1); console.log(lengths); // 2, 3, 4
描述:
reduce() 方法为数组中的每一个元素依次执行(升序执行)回调函数,不包括数组中被删除或从未被赋值的元素。将其结果计算为一个值。
注:reduce() 可以作为一个高阶函数,用于函数的 compose。
语法:
Array.reduce(callback(accumulator, currentValue, index, array), initialValue)
参数:
callback与initialValue
| | 参数 | 是否可选 | 描述 |
|---|---|---|---|
| 参数一 | callback | 必选 | 执行数组中每个数组元素的函数 (如果没有initialValue初始值那么第一个值不会执行改函数)它接收四个参数。 |
| 参数二 | initialValue | 可选 | callback函数的初始值 |
callback的参数列表:
| | 参数 | 是否可选 | 描述 |
|---|---|---|---|
| 参数一 | accumulator | 必选 | 累计器累计回调的返回值; 它是上一次调用回调时返回的累积值,或initialValue。 |
| 参数二 | currentValue | 必选 | 当前元素 |
| 参数三 | index | 可选 | 当前元素的索引值 |
| 参数四 | array | 可选 | 调用了 reduce() 的数组本身 |
initialValue的参数:
作为第一次调用 callback函数时的第一个参数的值。 如果没有提供初始值,则将使用数组中的第一个元素作为初始值。 在没有初始值的空数组上调用 reduce 将报错。
返回值:
函数累计处理后的结果
执行完所有callback函数的accumulator参数
注: 我们的 reducer 函数的返回值分配给累计器,该返回值在数组的每个迭代中被记住,并最后成为最终的单个结果值。
示例:
let number = [1, 2, 3, 4]; let result = number.reduce((sum, current) => sum + current, 0); console.log(result); // 10
描述:
reduce() 方法为数组中的每一个元素依次执行(升序执行)回调函数,不包括数组中被删除或从未被赋值的元素。将其结果计算为一个值。
注:reduce() 可以作为一个高阶函数,用于函数的 compose。
语法:
Array.forEach(callback(currentValue , index , array), thisValue)
参数:
callback与thisValue
| | 参数 | 是否可选 | 描述 |
|---|---|---|---|
| 参数一 | callback | 必选 | 执行数组中每个数组元素的函数,它接收三个参数。 |
| 参数二 | thisValue | 可选 | 执行 callback 时,用于 this 的值。 对象作为该执行回调时使用,传递给函数。 如果省略了 thisValue ,"this" 的值为 "undefined" |
callback的参数列表:
| | 参数 | 是否可选 | 描述 |
|---|---|---|---|
| 参数一 | currentValue | 必选 | 当前元素 |
| 参数二 | index | 可选 | 当前元素的索引值 |
| 参数三 | array | 可选 | 调用了 forEach() 的数组本身 |
thisValue的参数:
执行 callback 时,用于 this 的值。
返回值:
该方法没有返回值。
示例:
let number = [1, 2, 3, 4];
number.forEach((item, index ,array) =>{
console.log(item); // 1/2/3/4
});
方法属性:
| 方法 | 改变原数组 | 返回值描述 | 描述 |
|---|---|---|---|
| filter() | 否 | 过滤后的新数组 | 过滤器 |
| map() | 否 | 循环后的新数组 | 循环 |
| sort() | 是 | 为排序后的数组 | 排序 |
| reduce() | 否 | 为函数累计处理后的结果 | 累加器 |
| forEach() | 是 | 没有返回值为undefined | 循环 |
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
怎样用vue.js写一个简易音乐播放器?很多朋友都比较喜欢听音乐,对于音乐播放器,最基础的功能就是可以切换歌曲,因此下文小编就给大家分享一个实现简易音乐播放器的实例,感兴趣的朋友可以参考。
这篇文章主要为大家介绍了three.js实现3d全景看房示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
测试代码是确保代码稳定的第一步。能做到这一点的最佳方法之一就是使用单元测试。这篇文章主要介绍了如何用JavaScript编写你的第一个单元测试,感兴趣的可以了解一下
这篇文章主要介绍了javascript获取指针的位置的方法,通过代码介绍了如何调用上面扩展函数 getMP() 捕获当前鼠标指针在文档中的位置,需要的朋友可以参考下
这篇文章主要介绍了vant中的toast层级改变操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008