ES6基础语法之数组的使用实例分析
发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,这篇文章主要介绍了ES6基础语法之数组的使用实例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇ES6基础语法之数组的使用实例分析文章都会有所收获,下面我们一起来看看吧
千家信息网最后更新 2025年01月18日ES6基础语法之数组的使用实例分析
这篇文章主要介绍了ES6基础语法之数组的使用实例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇ES6基础语法之数组的使用实例分析文章都会有所收获,下面我们一起来看看吧。
一、Array.of()
将参数中所有值作为元素形成数组:
console.log(Array.of(1, 2, 3, 4)); // [1, 2, 3, 4]
参数的值可以为不同的类型:
console.log(Array.of(1, '2', true)); // [1, '2', true]
参数为空时返回空数组:
console.log(Array.of()); // []
注意:
let arr1 = new Array(10); //是一个长度为10的空数组let arr2 = Array.of(10); //长度为1,第一个元素值为10的数组
二、Array.from()
参数为数组,返回与原数组一样的数组:
console.log(Array.from([1, 2])); // [1, 2]
参数含空位:
console.log(Array.from([1, , 3])); // [1, undefined, 3]
对数组元素进行处理,形成新的数组:
let arr = Array.from([1,2,3],n=>n*2);console.log(arr); //[2,4,6]
利用函数处理数组,形成新的数组(奇数+1,偶数不变的规则):
//方案一:let arr1 = [1,2,3,4,5,6];let arr2 = Array.from(arr1,function(n){ if(n%2==1) return n+1; else return n;});console.log(arr2);//方案二:function f(n){ if(n%2==1) return n+1; else return n; }let arr1 = [1,2,3,4,5,6];let arr2 = Array.from(arr1,function(n){ return f(n);});console.log(arr2);
三、类数组对象转换
将类似数组的对象转换成真正的数组:
let arr = Array.from({ 0: "jack", 1: "rose", 2: "jordan", length: 3});console.log(arr); // ["jack", "rose", "jordan"]
没有 length 属性,则返回空数组:
let arr = Array.from({ 0: "jack", 1: "rose", 2: "jordan",});console.log(arr); // []
元素属性名不为数值且无法转换为数值,返回长度为length元素值为undefined的数组:
let arr = Array.from({ a: "jack", b: "rose", c: "jordan", length: 3});console.log(arr); // [undefined, undefined,undefined]
四、转换可迭代对象
转换map:
let map = new Map();map.set('23', '乔丹');map.set('33', '皮蓬');map.set('99', '罗德曼');console.log(Array.from(map)); //[['23','乔丹'],['33','皮蓬'],['99','罗德曼']]
转换set:
let set = new Set();set.add("乔丹");set.add("皮蓬");set.add("罗德曼");console.log(Array.from(set)); //["乔丹","皮蓬","罗德曼"]
转换字符串:
let str = "hello!";console.log(Array.from(str)); //['h','e','l','l','o','!']
五、扩展运算符...
复制数组内容:
//方案一:复制数组内容// let arr1 = [1,2,3,4];// let arr2 = [...arr1];// console.log(arr2);// console.log(arr1 === arr2); //false(arr1和arr2引用不同,只是值相同)//方案二:直接数组名赋值// let arr1 = [1,2,3,4];// let arr2 = arr1;// console.log(arr2);// console.log(arr1 === arr2); //true(arr1和arr2的引用相同)
合并数组:
let arr1 = [1,2,3,4];let arr2 = [1,2,3,4];let arr = [...arr1,...arr2];console.log(arr);
作为函数参数(可以接受可变长度的参数):
function Add(...items){ let sum = 0; for(let item of items) { sum += item; } return sum;}let result1 = Add(1,2,3);let result2 = Add(1,3,5,7,9);console.log(result1);console.log(result2);
六、扩展方法
查找:
//查找find()和findIndex()//find():查找数组中符合条件的元素,若有多个符合条件的元素,则返回第一个元素。// let arr = ["乔丹","皮蓬","罗德曼"];// let r = arr.find(item=>item == "皮蓬");// console.log(r); //皮蓬// let arr = ["乔丹","皮蓬","罗德曼"];// let r = arr.find(item=>item == "姚明");// console.log(r); //undefined // let arr = [1,2,3,4];// console.log(arr.find(item => item > 2)); // 3//findIndex():查找数组中符合条件的元素索引,若有多个符合条件的元素,则返回第一个元素索引。let arr = [10,20,30,40];console.log(arr.findIndex(item => item > 10)); // 1
填充:
//fill():将一定范围索引的数组元素内容填充为单个指定的值。// 参数1:用来填充的值// 参数2:被填充的起始索引// 参数3(可选):被填充的结束索引,默认为数组末尾// let arr = [1,2,3,4];// arr.fill(0,1,2);// console.log(arr);//copyWithin():将一定范围索引的数组元素修改为此数组另一指定范围索引的元素。// 参数1:被修改的起始索引// 参数2:被用来覆盖的数据的起始索引// 参数3(可选):被用来覆盖的数据的结束索引,默认为数组末尾// let arr = [1,2,3,4];// arr.copyWithin(0,2,4);// console.log(arr); // [3, 4, 3, 4]// let arr = [1, 2, ,4];// arr.copyWithin(0, 2, 4);// console.log(arr); // [, 4, , 4]//第一个参数为负数表示倒数// let arr = [1,2,3,4];// arr.copyWithin(-2,0);// console.log(arr); // [1, 2, 1, 2]
包含:
//includes():数组是否包含指定值。// 参数1:包含的指定值// let arr = [1,2,3];// let r = arr.includes(1); // true// console.log(r);// 参数2:可选,搜索的起始索引,默认为0let arr = [1,2,3];let r = arr.includes(1, 1); // falseconsole.log(r);
嵌套数组转一维数组:
console.log([1 ,[2, 3]].flat()); // [1, 2, 3]// 指定转换的嵌套层数console.log([1, [2, [3, [4, 5]]]].flat(2)); // [1, 2, 3, [4, 5]]// 不管嵌套多少层console.log([1, [2, [3, [4, 5]]]].flat(Infinity)); // [1, 2, 3, 4, 5]// 自动跳过空位console.log([1, [2, , 3]].flat());// [1, 2, 3]
关于"ES6基础语法之数组的使用实例分析"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"ES6基础语法之数组的使用实例分析"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。
数组
参数
元素
索引
乔丹
罗德
罗德曼
内容
基础
实例
实例分析
语法
分析
方案
条件
长度
起始
对象
知识
范围
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
bim数据库的更新的意义
html5链接到数据库
腾讯网络安全基础知识
零到壹网络技术有限公司
洛阳逐梦网络技术有限公司职员
江西零时网络技术有限公司
网络安全法是由什么部制定
华为网络技术工程师去国外
中国平安互联网科技有限公司
o2o电商软件开发怎么样
hbase作为历史数据库
智能网络安全与管理就业
数据库一键安装
文件如何存到数据库
怎样查询网页数据库
服务器刷题
拆服务器
驰普科技软件开发
首席网络安全官
打印服务器无线设置
邮箱服务器证书不安全
南通fil服务器行情
服务器视频
网络安全板报
网络安全基本视频
局域网下web服务器安全
校园网的网络安全论文
什么是综合资源服务器
逃跑吧少年服务器在哪里查看
宣威gpu云服务器