18. 优化一个function

JavaScript
觉得这个题有帮助吗?

总共 -通过 / -执行

// items是一个array
// 包含的元素有 >=3 个属性

let items = [
  {color: 'red', type: 'tv', age: 18}, 
  {color: 'silver', type: 'phone', age: 20},
  {color: 'blue', type: 'book', age: 17}
] 

// 一个由key和value组成的array
const excludes = [ 
  {k: 'color', v: 'silver'}, 
  {k: 'type', v: 'tv'}, 
  ...
] 

function excludeItems(items, excludes) { 
  excludes.forEach( pair => { 
    items = items.filter(item => item[pair.k] === item[pair.v])
  })
 
  return items
} 
  1. 上述excludeItems方法是什么用途?
  2. 上述方法是否和设想的一样在运作?
  3. 上述方法的时间复杂度是?
  4. 你能否优化以下?

注意

BFE.dev仅仅根据结果进行judge,不会考虑时间成本。请提交你觉得最好的解答。

争取10分钟以内搞定这个问题

讨论(38)