ES6-数组的新增特性-数组对象方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012054869/article/details/82015787

数组对象新增的方法

4.find()和findIndex()方法

(1)find() 返回数组中第一个满足条件的元素,参数是回调函数

例子:

<script>
    //返回数组中第一个满足条件的元素
    let arrs = [0,3,45,32,5,60,-3,89];
    console.log(arrs);

    //第一种:从数组中获取第一个>5的元素
    let res = arrs.find(function(val){
        if (val > 5) {
            return true;//只要>5结束循环,只要碰到>5的结束查询
        }
        return false;
    });
    console.log(res);//输出45

    //第二种:
    let res2 = arrs.find(function(val){
        return val>5;//比较表达式,返回布尔值
    });
    console.log(res2);//输出45

    //第三种:箭头函数
    let res3 = arrs.find(val=>val>5);//比较表达式,返回布尔值
    console.log(res3);//输出45
</script>

(2) findIndex()返回数组中第一个满足条件的元素的索引,参数是回调函数

例子:

<script>

    //findIndex()获取数组中第一个奇数元素的索引
    //第一种:传统函数
    let res4 = arrs.findIndex(function(val){
        return (val%2) !== 0;//输出2,第3个参数
    })
    console.log(res4);

    //第三种:箭头函数
    let res5 = arrs.findIndex(val=>(val%2) !== 0);//比较表达式,返回布尔值
        
    console.log(res5);//输出索引为2,即指45
</script>

5.entries(),keys()和values()方法

遍历数组

(1)entries(),遍历数组中的key和value,for...of方法;

(2)keys(),遍历数组中所有的索引值,for...of 数组名称.key()

(3)values(),遍历出key值,chrome中未能实现

例子:

<script>
    // entries(),keys()和values() 遍历数组
    let arr = ['橙子','西瓜','橙子','葡萄','苹果','香蕉'];
    console.log(arr.keys());//输出Array Iterator {  },迭代器接口数组

    //keys()遍历数组中所有的索引值
    //遍历,输出key值
    for(let k of arr){
    	console.log(k);//输出key值,'橙子','西瓜','橙子','葡萄','苹果','香蕉'
    }

    // 遍历输出索引值,只需数组.key()

	for(let k of arr.keys()){
	    	console.log(k);//输出索引值值,0,1,2,3,4,5
	    }

	//遍历出key值,方法二values()
	for(let k of arr.values()){
    	console.log(k);//输出key值,'橙子','西瓜','橙子','葡萄','苹果','香蕉'
    }//chrome中没有实现values()方法

    //entries()遍历数组中的key和value

    for(let [key,val] of arr.entries()){
    	console.log(key,val);//输出0 橙子1 西瓜2 橙子3 葡萄4 苹果5 香蕉
    }

</script>

6. includes()方法

表示数组中是否包含某个指定的值,返回布尔值

例子:

<script>
    // entries(),keys()和values() 遍历数组
    let arr = ['橙子','西瓜','橙子','葡萄','苹果','香蕉'];
    console.log(arr.includes("西瓜"));//返回true
</script>

猜你喜欢

转载自blog.csdn.net/u012054869/article/details/82015787