我是HTML

es6数组新方法

(1)Array.from(aarr,fn,obj) 
function fn(dr, sd, d) {
        /*Array.from 类数组转化为数组*/
        console.log(arguments)
        var arr = Array.from(arguments);
        console.log(arr);

        var arr1 = [].slice.call(arguments);
        console.log(arr1);
        var a = [...arguments]//=========================扩展运算符也可将数组住转化为非数组
        console.log(a)


        /*Array.from接受第二个参数(对数组中的每个元素进行操作),第三个参数是用来绑定this的指向*/
        var arr3 = Array.from(arguments, function (i) {
            return i * 7
        })
        console.log(arr3)
    }
    fn(1, 2, 2);
  (2) /*Array.of() 将一组值转化为数组*/
//可用此方法创建一个数组
!(function () {
        console.log(Array.of(21));

        var result = [1, 2, 3, 434, 56].find(function (n) {
            return n < 0;
        })
        console.log(result)


    })()
(3) find() findIndex()
!function () {
       /*find() 返回数组中第一个满足条件的元素
       findIndex() 返回第一个满足条件元素的下标*/

//====================================================这俩种方法都可以失败而NaN 但是indexof却不行
let arr= Array.of(0,1,2,3,4,5,6,7,8,9); let arr1=arr.find(function (v,k,arr) { /*回调函数有三个参数(当前值,当前下标,该数组)*/ //对数组中的元素进行遍历 // console.log(v,k,arr); return v>2; }) console.log(arr1) //3 console.log(arr.findIndex(function (v,k,arr) { // console.log(v) return v>4 //5 })) }()

(4)fill()对数组进行填充 可用于对数组的初始化
!(function () { /*对数组进行填充*/ console.log(['s'].fill(2))//会抹除原数组 console.log(new Array(3)) //[undefined × 3] console.log(new Array(3,2)) //[3, 2]; console.log([1,2,3,4,544].fill('ss',0,4))//对数组用‘ss'进行填充 })()
(5)includes()检测数组中是否有某个元素 返回值为布尔值
!(function () { // includes() 查找数组中是是否含有某个元素 ==此方法属于es7 但是babel转换器已经支持 // 与字符串 /*参数1:要查找的元素 * 参数2:从某位置开始查找,若为负数则倒着选取位置向后查找*/ console.log([1,1,2,NaN].includes(NaN)); //true 返回值是布尔值 对NaN识别 console.log([1,1,2,NaN,2].includes(NaN,-3)); //false console.log([1,2,3,4,NaN].indexOf(NaN)); //-1 不对NaN识别 })()

 

posted @ 2017-09-13 08:46  你值得拥有xxx  阅读(324)  评论(0编辑  收藏  举报