目录
  • 一、Array的扩展方法
    • 1.扩展运算符(展开语法)
  • 2、扩展运算符的应用
    • 1.合并数组
    • 2. 将伪数组转换为真正的数组
  • 3.构造函数方法:Array.from()
    • 4.实例方法 :find()
      •  5.findIndex()
        • 6.includes()

          一、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>

          ES6的内置对象扩展实现示例

          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);

           

          ES6的内置对象扩展实现示例

          方法还可以接收第二个参数,作用类似于数组的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>

           

          ES6的内置对象扩展实现示例

           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
          声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。