Advertisement
Guest User

Untitled

a guest
Jul 20th, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.88 KB | None | 0 0
  1. ## 去除重複項目
  2.  
  3. ###### 結果都會一樣
  4.  
  5. ```JavaScript
  6. var arr = [1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
  7.  
  8. // 方法一
  9. var arr2 = [...new Set(arr)] // [ 1, 2, 3, 4, 5 ]
  10.  
  11. // 方法二(去除後,並輸出)
  12. var arr3 = new Set(arr).forEach((key, value) => { // [1]=1,[2]=2,[3]=3,[4]=4,[5]=5
  13. console.log('[' + key + ']=' + value)
  14. })
  15. ```
  16.  
  17. ## 判斷陣列中是否有某一元素
  18.  
  19. ###### 使用*some()*,回傳值: _bool_
  20.  
  21. ```JavaScript
  22. var fruits = ['apple', 'banana', 'mango', 'guava']
  23.  
  24. function checkAvailability(arr, val) {
  25. return arr.some(arrVal => val === arrVal)
  26. }
  27.  
  28. checkAvailability(fruits, 'kela') // false
  29. checkAvailability(fruits, 'banana') // true
  30. ```
  31.  
  32. ## 陣列排序
  33.  
  34. ```JavaScript
  35. function strip(bandName) {
  36. // 略過A | The | An的開頭
  37. return bandName.replace(/^(a |the |an )/i, '').trim();
  38. }
  39.  
  40. const sortedBands = bands.sort((a, b) => strip(a) > strip(b) ? 1 : -1); // 用剩下的進行排序
  41.  
  42. document.querySelector('#bands').innerHTML =
  43. sortedBands
  44. .map(band => `<li>${band}</li>`)
  45. .join('') // 輸出
  46. ```
  47.  
  48. ###### 數字排序
  49.  
  50. ```JavaScript
  51. console.log(numbers.sort((a,b)=>a>b?1:-1))
  52. ```
  53.  
  54. ## 搜尋特定字
  55.  
  56. ###### 使用*filter()*,返回值: _Array_
  57.  
  58. ```JavaScript
  59. var fruits = ['apple', 'banana', 'grapes', 'mango', 'orange']
  60.  
  61. /**
  62. * 陣列透過搜尋條件(查詢)過濾物件
  63. */
  64. function filterItems(query) {
  65. return fruits.filter(function(el) {
  66. return el.toLowerCase().indexOf(query.toLowerCase()) > -1
  67. })
  68. }
  69.  
  70. console.log(filterItems('ap')); // ['apple', 'grapes']
  71. console.log(filterItems('an')); // ['banana', 'mango', 'orange']
  72. ```
  73.  
  74. ###### 快速寫法
  75.  
  76. ```JavaScript
  77. fruits = ['apple', 'banana', 'grapes', 'mango', 'orange']
  78.  
  79. /**
  80. * 陣列透過搜尋條件(查詢)過濾物件
  81. */
  82. function filterItems(query) {
  83. return fruits.filter(item=>item.toLowerCase().indexOf(query.toLowerCase()) > -1);
  84. }
  85. console.log(filterItems('ap')); // ['apple', 'grapes']
  86. ```
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement