18. あるfunctionを改善する

JavaScript
お役に立つのか?

トータルで - accepted /- tried

// itemsの要素は三つ以上のプロパティをもつ

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

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のジャッジは結果だけを見る、時間とかは測らない。最善を尽くした実装を送信してください。

10分間以内で解いてみて

ディスカス(38)