(二)10.数组扩展19-08-08

2019-08-08  本文已影响0人  你坤儿姐

数组新增特性

{
  let arr = Array.of(3,4,7,9,11);//Array.of 把一组数据变量转化成数组的作用
  console.log('arr=',arr);

  let empty=Array.of();
  console.log('empty',empty);
}

打印结果:
arr= (5) [3, 4, 7, 9, 11]
index.min.js:1 empty []

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <!--<meta http-equiv="Content-Security-Policy" content="default-src *; style-src * 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'; img-src * data: 'unsafe-inline'; connect-src * 'unsafe-inline'; frame-src *;">-->
    <title>ES6实战</title>
</head>

<body>
  <p>es6</p>
  <p>慕课网</p>
  <p>快乐动起来</p>
</body>
</html>
// 把伪数组转换成数组
{
  let p=document.querySelectorAll('p');
  let pArr=Array.from(p); //这里将p标签下的集合转换为数组
  pArr.forEach(function (item) {
    console.log(item.textContent);
  })
  //Array.from的第二种用法
  console.log(Array.from([1,3,5],function (item) {return item*2}))
}

打印结果:
es6
慕课网
快乐动起来

(3) [2, 6, 10]

{
  //数组的所有元素都换成一个值
  console.log('fill-7',[1,'a',undefined].fill(7));
  //将数组中从第1个开始到第三个(不包括第3个)结束换成7
  console.log('fill,pos',['a','b','c','d'].fill(7,1,3));
}

打印结果:
fill-7 (3) [7, 7, 7]
fill,pos (4) ["a", 7, 7, "d"]

{ //不兼容的情况下,不使用import 'babel-polyfill';时,keys   values是会报错的
  //keys返回数组所有下标的集合
  for (let index of ['1','c','ks'].keys()){
    console.log('keys',index);
  }
  //keys返回数组所有值的集合
  for (let value of ['1','c','ks'].values()){
    console.log('values',value);
  }
//entries不存在兼容问题
  for (let [index,value] of ['1','c','ks'].entries()){
    console.log('values',value,index);
  }
}

打印结果:
keys 0
keys 1
keys 2
values 1
values c
values ks
values 1 0
values c 1
values ks 2

  //在当前数组内部 将指定位置的成员复制到其他位置上
  console.log([1,2,3,4,5].copyWithin(0,3,4));
  //0是从哪个位置开始替换,3是我从哪个位置开始读取数据,4到哪个位置截止
  console.log([1,2,3,4,5].copyWithin(0,3,5));

打印结果:
(5) [4, 2, 3, 4, 5]
(5) [4, 5, 3, 4, 5]

{
  //查找一个元素是否在数组中
  //find的找只找到第一个符合条件的就停止了
  //find返回的是查找的值
  console.log([1,2,3,4,5,6].find(function(item){
    return item>3
  }));

  //findIndex返回的是查找的下标
  console.log([1,2,3,4,5,6].findIndex(function(item){
    return item>3
  }));
}

打印结果:
4
3

{
 //是否包含某个数
  console.log('number',[1,2,NaN].includes(1));
  console.log('number',[1,2,NaN].includes(NaN));
}

打印结果:
number true
number true

上一篇 下一篇

猜你喜欢

热点阅读