iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 16
0
自我挑戰組

利用30分鐘~想一個前端問題系列 第 16

利用30分鐘~想一個前端問題 Day16-similarity

  • 分享至 

  • xImage
  •  

similarity

Returns an array of elements that appear in both arrays.

Use Array.prototype.filter() to remove values that are not part of values, determined using Array.prototype.includes().

比較兩組陣列,回傳他們共同的陣列

1.使用 Array.prototype.filter() 過濾出不是相同的值,採取使用
2.filter()裡面條件設定就由Array.prototype.includes()來決定

const similarity = (arr, values) => arr.filter(v => values.includes(v));
//EXAMPLES
similarity([1, 2, 3], [1, 2, 4]); // [1, 2]

分析點

  1. Array.prototype.filter()
const items = [12, 1, 7, 5, 4, 2, 9];

const lessThanFive = items.filter(element=>  element < 5);
  


console.log(lessThanFive)


根據函數回傳值 ( True / False)決定要不要把元素複製到新陣列

  1. Array.prototype.includes()

includes() 方法會判斷陣列是否包含特定的元素,並以此來回傳 true 或 false。

let array = ['JS', JAVA', 'ECMA'];
let searchElement = 'ECMA';

console.log(array.includes(searchElement));  // true

參考資料

MDN Array.prototype.filter()

MDN Array.prototype.includes()


上一篇
利用30分鐘~想一個前端問題 Day15-dig
下一篇
利用30分鐘~想一個前端問題 Day17--show
系列文
利用30分鐘~想一個前端問題30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言