ES6的內置對象擴展實現示例
一、Array的擴展方法
1.擴展運算符(展開語法)
擴展運算符可以將數組或者對象轉換為逗號分隔的參數序列
let ary = [1,2,3]; ...ary //1,2,3 console.log(...ary); //1 2 3 //console.log方法可以接收以","分隔的參數,一次輸出多個內容 //為啥輸出的結果沒有逗號瞭,因為參數序列裡的逗號被console.log當成參數分隔符瞭
<script type="text/javascript"> let arr = ['a', 'b', 'c']; console.log(...arr); //a b c console.log('a', 'b', 'c'); //a b c </script>
2、擴展運算符的應用
1.合並數組
擴展運算符可以用於合並數組
//方法一 let ary1 = [1,2,3]; let ary2 = [4,5,6]; let ary3 = [...ary1,...ary2]; console.log(ary3); //[1,2,3,4,5,6]
//方法二 ary1.push(...ary2);
註意:push()方法可以接收多個值,每個值之間用“,”分隔
let ary1 = [1, 2, 3]; let ary2 = [4, 5, 6]; ary2.push(...ary1); console.log(ary2); //[4,5,6,1,2,3]
2. 將偽數組轉換為真正的數組
將類數組或可遍歷對象轉換為真正的數組
let oDivs = document.getElementByTagName('div'); oDivs = [...oDivs];
<body> <div>1</div> <div>2</div> <div>3</div> <div>4</div> <div>5</div> <script type="text/javascript"> var oDivs = document.getElementsByTagName('div'); console.log(oDivs); var ary = [...oDivs]; console.log(ary); </script> </body>
3.構造函數方法:Array.from()
將類數組或可遍歷對象轉換為真正的數組
let arrayLike = { '0': 'a', '1':'b', '2': 'c', length: 3 //必須要有這一句 }; console.log(arrayLike); let arr2 = Array.from(arrayLike); // ['a','b','c'] console.log(arr2);
方法還可以接收第二個參數,作用類似於數組的map方法,用來對每個元素進行處理,將處理後的值放入返回的數組
let arrayLike = { "0":1, "1":2, "length":2 } let newAry = Array.from(arrLike,item=> item*2);
var arrayLike = { "0": "1", "1": "2", "length": 2 } var ary = Array.from(arrayLike, item => item * 2) //數組裡有多少元素 這一句就執行多少次 console.log(ary) //[2,4]
4.實例方法 :find()
用於找出第一個符合條件的數組成員,如果沒有找到返回undefined
let ary = [{ id :1, name:'張三' },{ id:2, name:'李四' } ]; let target = ary.find((item,index) => item.id==2 )
<script type="text/javascript"> var ary = [{ id: 1, name: '張三' }, { id: 2, name: '李四' }]; let target = ary.find((item) => { return item.id == 1; }); console.log(target); </script>
5.findIndex()
用於找出第一個符合條件的數組成員的位置,如果沒有找到返回-1
let ary = [1, 5, 10, 15]; let index = ary.findIndex((value,index) => value>9); console.log(index); //2
<script type="text/javascript"> let ary = [10, 20, 50]; let index = ary.findIndex((item) => { return item > 15; }); console.log(index); //1 </script>
6.includes()
表示某個數組是否包含給定的值,返回佈爾值
[1,2,3].includes(2); //true [1,2,3].includes(4); //false
到此這篇關於ES6的內置對象擴展實現示例的文章就介紹到這瞭,更多相關ES6 內置對象擴展內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- ECMAScript 6數組的擴展實例詳解
- 27個JavaScript數組常見方法匯總與實例說明
- 梳理總結25JavaScript數組操作方法實例
- javascript數組的內置方法詳解
- 非常全面的12種js數組去重的方法