一、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 内置对象扩展内容请搜索Devmax以前的文章或继续浏览下面的相关文章希望大家以后多多支持Devmax!

ES6的内置对象扩展实现示例的更多相关文章

  1. 详解如何使用webpack+es6开发angular1.x

    本篇文章主要介绍了详解如何使用webpack+es6开发angular1.x,具有一定的参考价值,有兴趣的可以了解一下

  2. 结合 ES6 类编写JavaScript 创建型模式

    这篇文章主要介绍了结合ES6类编写JavaScript创建型模式,本文开始系统性的对20多种JavaScript 设计模式进行简单概述,然后结合ES6类的方式来编写实例代码展示其使用方式,需要的朋友可以参考一下

  3. javascript内置对象Math案例总结分析

    今天总结一下javascript 内置对象Math中的函数用法,顺带写一下常见的案例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步

  4. 分析ES5和ES6的apply区别

    这篇文章主要介绍了分析ES5和ES6的apply区别,对ES6感兴趣的同学,可以参考下

  5. ES6的Promise用法详解

    本文详细讲解了ES6的Promise用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  6. Mac下关于PHP环境和扩展的安装详解

    今天小编就为大家分享一篇Mac下关于PHP环境和扩展的安装详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

  7. linux平台编译安装PHP7并安装Redis扩展与Swoole扩展实例教程

    这篇文章主要介绍了linux平台编译安装PHP7并安装Redis扩展与Swoole扩展的方法,结合实例形式详细分析了Linux平台上安装php7并安装Redis扩展与Swoole扩展的具体步骤与操作技巧,需要的朋友可以参考下

  8. ECMAScript6入门教程

    本文详细讲解了ECMAScript6的基础教程,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  9. ES6变量赋值和基本数据类型详解

    本文详细讲解了ES6变量赋值和基本数据类型,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  10. 深入浅出讲解ES6的解构

    解构是ES6的新特性,用于从JavaScript对象和数组中提取数据,语法上比ES5所提供的更加简洁、紧凑、清晰。本文将深入探讨解构赋值,为你介绍该新特性中你所需要知悉的一切。

随机推荐

  1. js中‘!.’是什么意思

  2. Vue如何指定不编译的文件夹和favicon.ico

    这篇文章主要介绍了Vue如何指定不编译的文件夹和favicon.ico,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  3. 基于JavaScript编写一个图片转PDF转换器

    本文为大家介绍了一个简单的 JavaScript 项目,可以将图片转换为 PDF 文件。你可以从本地选择任何一张图片,只需点击一下即可将其转换为 PDF 文件,感兴趣的可以动手尝试一下

  4. jquery点赞功能实现代码 点个赞吧!

    点赞功能很多地方都会出现,如何实现爱心点赞功能,这篇文章主要为大家详细介绍了jquery点赞功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  5. AngularJs上传前预览图片的实例代码

    使用AngularJs进行开发,在项目中,经常会遇到上传图片后,需在一旁预览图片内容,怎么实现这样的功能呢?今天小编给大家分享AugularJs上传前预览图片的实现代码,需要的朋友参考下吧

  6. JavaScript面向对象编程入门教程

    这篇文章主要介绍了JavaScript面向对象编程的相关概念,例如类、对象、属性、方法等面向对象的术语,并以实例讲解各种术语的使用,非常好的一篇面向对象入门教程,其它语言也可以参考哦

  7. jQuery中的通配符选择器使用总结

    通配符在控制input标签时相当好用,这里简单进行了jQuery中的通配符选择器使用总结,需要的朋友可以参考下

  8. javascript 动态调整图片尺寸实现代码

    在自己的网站上更新文章时一个比较常见的问题是:文章插图太宽,使整个网页都变形了。如果对每个插图都先进行缩放再插入的话,太麻烦了。

  9. jquery ajaxfileupload异步上传插件

    这篇文章主要为大家详细介绍了jquery ajaxfileupload异步上传插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  10. React学习之受控组件与数据共享实例分析

    这篇文章主要介绍了React学习之受控组件与数据共享,结合实例形式分析了React受控组件与组件间数据共享相关原理与使用技巧,需要的朋友可以参考下

返回
顶部