ES6 新特性

ES6 数组的拓展

2022-05-13  本文已影响0人  生命里那束光

一、ES6新增创建数组的方式

1.Array.of创建数组(ES6新增)

Array.of()方法用于将一组值,转换为数组。

Array.of()总是返回参数值组成的数组。如果没有参数,就返回一个空数组。

Array.of(3, 11, 8) // [3,11,8]
Array.of(3) // [3]
Array.of(3).length // 1

2.Array.from创建数组(ES6新增)

Array.from()方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括 ES6 新增的数据结构 Set 和 Map)。

let arrayLike = {   //类似数组的对象
    0: 'tom', 
    1: '65',
    2: '男',
    3: ['jane','john','Mary'],
    'length': 4
}
//转化为真正的数组
let arr = Array.from(arrayLike)
console.log(arr) // ['tom','65','男',['jane','john','Mary']]

Array.from的三个参数:

Array.from(arrayLike[, mapFn[, thisArg]] )
1 参数一是被转换的对象
2 参数二是一个map函数方法
3 参数三是map里面this的指向

注意:数组中如果不添加元素,那打印出来的元素的值默认就是undefined

二、ES6新增的数组方法

ES6新增JS数组方法 作用 返回值 用法
find() 查找符合条件的元素 元素orubdefined arr.find()
findIndex() 查找符合条件的元素的索引 对应的索引 arr.findIndex()
includes() 判断一个数组是否包含一个指定的值 true或false arr.includes(value)
Array.isArray() 判断一个对象是否为数组 true或false Array.isArray([])
fill() 使用给定值,填充一个数组 新数组 Array(conut).fill(value)

1、find()

    let arr = [{id:1,name:'dee'},{id:2,name:'dee'},{id:3,name:'dee'},
    {id:4,name:'dee'},{id:5,name:'dee'}];
    // let obj = arr.find(function(item){
    //    return item == 3;
    // })
    // console.log(obj);
    // ubdefined
    let obj = arr.find(item => item.id > 1)
    console.log(obj);
    ({id:2,name:'dee'})  

2、findIndex()

    let arr = [1, 2, 3, 4, 5];
    let obj = arr.findIndex(function(item) {
        return item > 6;
    })
    console.log(obj);  // -1

3、includes()

var a = [1,2,3]
console.log(a.includes(1))  // true

4、Array.isArray()方法

Array.isArray([])  // true
Array.isArray({})  // false

5、fill()方法

['a', 'b', 'c'].fill(7)
// [7, 7, 7]

new Array(3).fill(7)
// [7, 7, 7]

上面代码表明,fill方法用于空数组的初始化非常方便。数组中已有的元素,会被全部抹去。

['a', 'b', 'c'].fill(7, 1, 2)
// ['a', 7, 'c']
上一篇下一篇

猜你喜欢

热点阅读