首页 > 其他分享 >js 数组所有的方法举例版

js 数组所有的方法举例版

时间:2024-08-25 10:47:54浏览次数:4  
标签:返回 元素 js callback 举例 数组 thisArg Array

1. 数组创建

  • Array.of(...): 创建一个新的数组实例,其中包含传入的所有元素。
点击查看代码
console.log(Array.of(1, 2, 3)); // [1, 2, 3]
console.log(Array.of(7)); // [7]
console.log(Array.of()); // []
  • Array.from(arrayLike, mapFn, thisArg): 从类数组或可迭代对象创建一个新的数组实例。

示例:
从类数组对象创建数组

点击查看代码
const arrayLike = {
  0: 'a',
  1: 'b',
  2: 'c',
  length: 3
};
const arr = Array.from(arrayLike);
console.log(arr); // ['a', 'b', 'c']

从可迭代对象创建数组

点击查看代码
const str = 'hello';
const arr = Array.from(str);
console.log(arr); // ['h', 'e', 'l', 'l', 'o']

使用映射函数

点击查看代码
const numbers = [1, 2, 3, 4];
const doubled = Array.from(numbers, x => x * 2);
console.log(doubled); // [2, 4, 6, 8]

2. 访问和修改

  • length: 返回或设置数组的长度。
    读取长度

** 设置长度:设置 length 属性会改变数组的大小:**

  • at(index): 返回数组中指定位置的元素,负数表示从数组末尾倒数的位置,index是下标索引值。

  • 示例

3. 添加和删除元素

  • push(...elements): 向数组末尾添加一个或多个元素。

  • pop(): 移除并返回数组末尾的元素。

  • unshift(...elements): 向数组开头添加一个或多个元素。

  • shift(): 移除并返回数组开头的元素。

  • splice(start, deleteCount, ...items): 从数组中添加或删除元素。

  • 使用 delete 操作符,删除数组中的指定元素,但不会改变数组的长度。

4. 查找元素

  • indexOf(element, fromIndex): 返回数组中首次出现的指定元素的索引,未找到则返回 -1。
  • lastIndexOf(element, fromIndex): 返回数组中最后一次出现的指定元素的索引,未找到则返回 -1。
  • find(callback, thisArg): 返回数组中第一个符合条件的元素,找不到则返回 undefined。
  • findIndex(callback, thisArg): 返回数组中第一个符合条件的元素的索引,找不到则返回 -1。
  • includes(element, fromIndex): 判断数组是否包含指定元素,返回布尔值。
  • some(callback, thisArg): 判断数组中是否至少有一个元素符合条件,返回布尔值。
  • every(callback, thisArg): 判断数组中是否所有元素都符合条件,返回布尔值。

5. 遍历数组

  • forEach(callback, thisArg): 对数组的每个元素执行一次回调函数。
  • map(callback, thisArg): 返回一个新数组,其中每个元素是回调函数的结果。
  • filter(callback, thisArg): 返回一个新数组,其中包含所有通过测试的元素。
  • reduce(callback, initialValue): 对数组的每个元素执行回调函数,返回单一值。
  • reduceRight(callback, initialValue): 从数组的末尾开始对每个元素执行回调函数,返回单一值。
  • flat(depth): 将多维数组“拍平”,可以指定拍平的深度。
  • flatMap(callback, thisArg): 对每个元素应用回调函数,然后将结果“拍平”至一维数组。

6. 变换数组

  • concat(...arrays): 合并两个或多个数组。
  • slice(begin, end): 返回数组的一个片段(浅拷贝),包含 begin 索引到 end 索引(不包括 end 索引)的元素。
  • join(separator): 将数组的所有元素连接成一个字符串。
  • sort(compareFunction): 对数组进行排序,可以指定排序函数。
  • reverse(): 颠倒数组中元素的顺序。

7. 其他

  • copyWithin(target, start, end): 将数组的指定部分复制到另一个位置。
  • fill(value, start, end): 用指定的值填充数组的部分或全部元素。
  • from(iterable, mapFn, thisArg): 从类数组或可迭代对象创建数组,可以应用映射函数。
  • toString(): 将数组转换为字符串。
  • toLocaleString(): 将数组转换为本地化的字符串。

8. ES2022+ 方法

  • at(index): 返回数组中指定位置的元素,可以使用负数索引。
  • groupBy(callback): 将数组中的元素按回调函数的返回值分组(需要 polyfill)。
  • groupByToMap(callback): 与 groupBy 类似,但返回的是 Map(需要 polyfill)。

标签:返回,元素,js,callback,举例,数组,thisArg,Array
From: https://www.cnblogs.com/duocaishijie/p/18371226

相关文章

  • 基于nodejs+vuevivi[程序+论文+开题]-计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景在当今数字化时代,电子商务平台的蓬勃发展极大地改变了人们的消费习惯,推动了商业模式的创新。随着移动互联网技术的普及,消费者对购物体验的需求日益个性化与......
  • 基于nodejs+vuevegetableMarket[程序+论文+开题]-计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着城市化进程的加快和消费者健康意识的提升,蔬菜市场作为日常生活中不可或缺的一部分,其运营模式与效率正面临着新的挑战与机遇。传统的蔬菜市场往往存在信......
  • 基于nodejs+vueUhome记录生活[程序+论文+开题]-计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着科技的飞速发展,智能家居与数字化生活已成为现代家庭的新常态。在这样的背景下,"Uhome记录生活"应运而生,旨在通过构建一个集用户管理、家庭成员互动、家庭......
  • 基于nodejs+vueTVCBOOK灵感创作[程序+论文+开题]-计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景在数字化时代,创意产业蓬勃发展,成为推动经济增长和社会进步的重要力量。TVCBOOK灵感创作平台应运而生,旨在构建一个集用户交流、优秀作品展示、作品分类管理、......
  • 【JS|第24期】Puppeteer:50个常用操作,你会了吗?
    日期:2024年8月19日作者:Commas签名:(ง•_•)ง积跬步以致千里,积小流以成江海……注释:如果您觉得有所帮助,帮忙点个赞,也可以关注我,我们一起成长;如果有不对的地方,还望各位大佬不吝赐教,谢谢^-^1.01365=37.7834;0.99365=0.02551.02365=1377.4083;0.98365=0.0006......
  • js 数组所有的方法精简版
    1.数组创建Array.of(...):创建一个新的数组实例,其中包含传入的所有元素。Array.from(arrayLike,mapFn,thisArg):从类数组或可迭代对象创建一个新的数组实例。2.访问和修改length:返回或设置数组的长度。at(index):返回数组中指定位置的元素,负数表示从数组末尾倒数......
  • JSP基于SSM高考志愿填报系统79k8t程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统功能:学生,高考资讯,院校信息,专业资讯,填报信息,学生成绩,院校,填报指南技术要求:开发语言:JSP前端使用:HTML5,CSS,JSP动态网页技术后端使用SpringBoot,Spri......
  • 【NextJS】中间件实战介绍
    原创洞窝技术使用Next.js中间件实现高性能个性化在当今的数字时代,用户期望获得量身定制的在线体验。个性化已经从一个奢侈品变成了必需品,尤其是对于希望在竞争激烈的市场中脱颖而出的企业来说。然而,实现高性能的个性化往往是一个挑战,需要在用户体验和系统性能之间取得......
  • C语言字符数组
    字符数组是一维数组的一种,是当数组中的元素类型为字符型时,称为字符数组。在这里我想讲一下字符数组的结束标志和字符串数组的输入和输出。字符数组的结束标志在C语言中,使用字符数组保存字符串时,系统会自动添加“\0”作为结束符。chararray[]="hello";//初始化字符数组上......
  • golang RSA 解密前端jsencrypt发送的数据时异常 crypto/rsa: decryption error 解决方
    golang中RSA解密前端(jsencrypt)发来的密文后出现 "crypto/rsa:decryptionerror" ,这个问题首先需要确认你的私匙和公匙是否匹配,如果匹配那检查入参数据类型,前端发送来的rsa加密后的数据一般都是经过base64编码后的,在后端进行RSA解码时需要对前端发送的数据进行base64......