Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ## 去除重複項目
- ###### 結果都會一樣
- ```JavaScript
- var arr = [1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
- // 方法一
- var arr2 = [...new Set(arr)] // [ 1, 2, 3, 4, 5 ]
- // 方法二(去除後,並輸出)
- var arr3 = new Set(arr).forEach((key, value) => { // [1]=1,[2]=2,[3]=3,[4]=4,[5]=5
- console.log('[' + key + ']=' + value)
- })
- ```
- ## 判斷陣列中是否有某一元素
- ###### 使用*some()*,回傳值: _bool_
- ```JavaScript
- var fruits = ['apple', 'banana', 'mango', 'guava']
- function checkAvailability(arr, val) {
- return arr.some(arrVal => val === arrVal)
- }
- checkAvailability(fruits, 'kela') // false
- checkAvailability(fruits, 'banana') // true
- ```
- ## 陣列排序
- ```JavaScript
- function strip(bandName) {
- // 略過A | The | An的開頭
- return bandName.replace(/^(a |the |an )/i, '').trim();
- }
- const sortedBands = bands.sort((a, b) => strip(a) > strip(b) ? 1 : -1); // 用剩下的進行排序
- document.querySelector('#bands').innerHTML =
- sortedBands
- .map(band => `<li>${band}</li>`)
- .join('') // 輸出
- ```
- ###### 數字排序
- ```JavaScript
- console.log(numbers.sort((a,b)=>a>b?1:-1))
- ```
- ## 搜尋特定字
- ###### 使用*filter()*,返回值: _Array_
- ```JavaScript
- var fruits = ['apple', 'banana', 'grapes', 'mango', 'orange']
- /**
- * 陣列透過搜尋條件(查詢)過濾物件
- */
- function filterItems(query) {
- return fruits.filter(function(el) {
- return el.toLowerCase().indexOf(query.toLowerCase()) > -1
- })
- }
- console.log(filterItems('ap')); // ['apple', 'grapes']
- console.log(filterItems('an')); // ['banana', 'mango', 'orange']
- ```
- ###### 快速寫法
- ```JavaScript
- fruits = ['apple', 'banana', 'grapes', 'mango', 'orange']
- /**
- * 陣列透過搜尋條件(查詢)過濾物件
- */
- function filterItems(query) {
- return fruits.filter(item=>item.toLowerCase().indexOf(query.toLowerCase()) > -1);
- }
- console.log(filterItems('ap')); // ['apple', 'grapes']
- ```
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement