1. 程式人生 > 實用技巧 >5-ES6之陣列

5-ES6之陣列

 <script>
        //陣列的方法from() of()
        //from()將偽陣列轉換成真正的陣列
        //ES5寫法將偽陣列轉換成真正的陣列
        function add(){
            let arr=[].slice.call(arguments);
            console.log(arr)
        }
        add(1,2,3)

        //ES6寫法
        function add(){
            let arr=Array.from(arguments)
            console.log(arr)
        }
        add(1,2,3)

        let lis = document.querySelectorAll('li');
        //轉換成陣列
        console.log(Array.from(lis));
        //轉換成資料,更簡潔的寫法,擴充套件運算子換成真正的陣列
        console.log([...lis])

        //from(),還可以傳遞第二個引數(函式),用來對每個元素進行處理
        Array.from(lis,ele =>ele.textContent)
        console.log(lis)

        //2.of()將任意的資料型別,轉換成陣列
        console.log(Array.of(3,11,20,[1,2,3]));
       
        // 3 copywithin()將資料內部元素拷貝到其他位置
        let arr1= [1,2,3,8,9].copyWithin(0,3) //[8, 9, 3, 8, 9] 從3位置往後把0位置元素都替換

        //find() findIndex()查詢元素,查詢索引,引數是個回撥函式
        let arr2=[1,2,-10,-20,9,2].find( n=> n<0)
        console.log(arr2)
 
        //entries(),keys,values()返回一個遍歷器,可以用for ..of 迴圈訪問
        for(let index of [1,2].keys()){
            console.log(index);
        }
        for(let val of [1,2].values()){
            console.log(val);
        }
        //entries返回所發索引和值
        for(let [index,ele] of [1,2].entries()){
            console.log(index,ele);
        }     ;

        let lerrer = ['a','b','c']

        //6  inculdes(),返回一個布林值,表示陣列是否含某個值
        console.log(lerrer.includes('a'))

        //

    </script>