ES6的内置对象扩展实现示例
作者:一条咸鱼o*v*o
本文主要介绍了ES6的内置对象扩展实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
一、Array的扩展方法
1.扩展运算符(展开语法)
扩展运算符可以将数组或者对象转换为逗号分隔的参数序列
let ary = [1,2,3]; ...ary //1,2,3 console.log(...ary); //1 2 3 //console.log方法可以接收以","分隔的参数,一次输出多个内容 //为啥输出的结果没有逗号了,因为参数序列里的逗号被console.log当成参数分隔符了
<script type="text/javascript"> let arr = ['a', 'b', 'c']; console.log(...arr); //a b c console.log('a', 'b', 'c'); //a b c </script>
2、扩展运算符的应用
1.合并数组
扩展运算符可以用于合并数组
//方法一 let ary1 = [1,2,3]; let ary2 = [4,5,6]; let ary3 = [...ary1,...ary2]; console.log(ary3); //[1,2,3,4,5,6]
//方法二 ary1.push(...ary2);
注意:push()方法可以接收多个值,每个值之间用“,”分隔
let ary1 = [1, 2, 3]; let ary2 = [4, 5, 6]; ary2.push(...ary1); console.log(ary2); //[4,5,6,1,2,3]
2. 将伪数组转换为真正的数组
将类数组或可遍历对象转换为真正的数组
let oDivs = document.getElementByTagName('div'); oDivs = [...oDivs];
<body> <div>1</div> <div>2</div> <div>3</div> <div>4</div> <div>5</div> <script type="text/javascript"> var oDivs = document.getElementsByTagName('div'); console.log(oDivs); var ary = [...oDivs]; console.log(ary); </script> </body>
3.构造函数方法:Array.from()
将类数组或可遍历对象转换为真正的数组
let arrayLike = { '0': 'a', '1':'b', '2': 'c', length: 3 //必须要有这一句 }; console.log(arrayLike); let arr2 = Array.from(arrayLike); // ['a','b','c'] console.log(arr2);
方法还可以接收第二个参数,作用类似于数组的map方法,用来对每个元素进行处理,将处理后的值放入返回的数组
let arrayLike = { "0":1, "1":2, "length":2 } let newAry = Array.from(arrLike,item=> item*2);
var arrayLike = { "0": "1", "1": "2", "length": 2 } var ary = Array.from(arrayLike, item => item * 2) //数组里有多少元素 这一句就执行多少次 console.log(ary) //[2,4]
4.实例方法 :find()
用于找出第一个符合条件的数组成员,如果没有找到返回undefined
let ary = [{ id :1, name:'张三' },{ id:2, name:'李四' } ]; let target = ary.find((item,index) => item.id==2 )
<script type="text/javascript"> var ary = [{ id: 1, name: '张三' }, { id: 2, name: '李四' }]; let target = ary.find((item) => { return item.id == 1; }); console.log(target); </script>
5.findIndex()
用于找出第一个符合条件的数组成员的位置,如果没有找到返回-1
let ary = [1, 5, 10, 15]; let index = ary.findIndex((value,index) => value>9); console.log(index); //2
<script type="text/javascript"> let ary = [10, 20, 50]; let index = ary.findIndex((item) => { return item > 15; }); console.log(index); //1 </script>
6.includes()
表示某个数组是否包含给定的值,返回布尔值
[1,2,3].includes(2); //true [1,2,3].includes(4); //false
到此这篇关于ES6的内置对象扩展实现示例的文章就介绍到这了,更多相关ES6 内置对象扩展内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!