JavaScript基础之--ES6数组的扩展:如map,Array.from,Array.of,copyWithin,filter,every,some,includes......

本文详细介绍了ES6中数组的扩展特性,包括map、Array.from、Array.of、copyWithin、filter、every、some、includes、find及findIndex等方法的使用和原理。通过实例解析,帮助读者掌握这些方法在实际编程中的应用。
摘要由CSDN通过智能技术生成

ES6中数组的扩展

 ---------------------------------------------------《持续更新中》------------------------------------------------------

目录

map

Array.from() 

Array.of()

copyWithin()

filter(callBack)

every(callBack)

some(callBack)

includes(值)

find(callBack) 

findIndex(callBack)


 

map

map 映射的意思。 将原数组映射成新的数组。注意:map必须有返回值,若没有返回值,则新的数组都是undefined. 

var arr = [1, 3, 5, 4, 8];
arr = arr.map(item => {
      return item * 2
});
console.log(arr);

若没有返回值,则会返回undefined 

var arr = [1, 3, 5, 4, 8];
arr = arr.map(item => {
     item * 2
});
console.log(arr);

 

Array.from() 

Array.from() 方法可以将类似于数组的对象转为真正的数组,比如说伪数组,arguments。

        如果是一个对象,必须要有length属性才可以转为数组,

        1.如果length比属性个数要多,多生成的元素是undefined,

        2.如果length比属性个数要少,只会生成前length个元素。基于下标。

        3.如果没有length属性,则生成一个空数组。

<ul>
   <li>第1个li标签</li>
   <li>第2个li标签</li>
   <li>第3个li标签</li>
   <li>第4个li标签</li>
</ul>
var lis = document.querySelectorAll("li");
console.log(Array.from(lis));

 

var arrLike = {
   "1": "e",
   "2": "l",
   "3": "l",
   "4": "o",
   "0": "h",
   length: 4
 }
console.log(Array.from(arrLike));

Array.of()

Array.of 方法:用于将一组数值,转为数组。(创建数组,用于替代 new Array())

 var arr = Array.of(5, {age: 20}, true,"20");
console.log(arr);

 

copyWithin()

copyWithin():在当前数组内部,将指定位置的成员复制到其他位置,复制会替换原有成员,返回当前数组。 会修改原数组。注意:含头不含尾!

      参数:

         1.(必须)从该位置开始替换数据。

         2.(可选)从该位置开始读取数据,默认值是0。

         3.(可选)到该位置停止读取数据。默认值是数组的长度。如果是负数,表示倒数。最后一个值的位置是-1。

var arr = [1, 3, 5, 2, 4, 6];
arr.copyWithin(0, 3, arr.length);
console.log(arr);

filter(callBack)

filter(callBack): 遍历并过滤出一个新的数组,数组中包含的是返回条件为true的值。

var arr = [1, 3, 5, 2, 4, 6];
var arr2 = arr.filter(item => item > 3)
console.log(arr2);

 

every(callBack)

every(callBack):数组中的元素全部满足判断条件,如果都满足则返回true,否则返回false。

var arr = [1, 3, 5, 2, 4, 6];
var flag = arr.every(item => item > 0)
console.log(flag);

 

some(callBack)

some(callBack) :数组中的元素只要有一个满足判断条件,则返回true,如果都不满足,返回fasle。    注意比较every(callBack)。

var arr = [1,3,5,2,4,6];
var flag = arr.some(item=>item>6) 
console.log(flag);

includes(值)

includes(值) :判断数组中是否有指定的值。如果有,返回true,没有返回false。

var arr = [1, 3, 5, 2, 4, 6];
var flag = arr.includes(6);
console.log(flag);

find(callBack) 

find(callBack) :找到第一个符合条件的元素。

ar arr = [1,3,5,2,4,6];
var flag = arr.find(item=>item>3)
console.log(flag);

 

findIndex(callBack)

findIndex(callBack):找到第一个符合条件的元素的下标。

  注意:对比 find(callBack)。

var arr = [1, 3, 5, 2, 4, 6];
var flag = arr.findIndex(item => item > 3)
console.log(flag);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值