I'd suggest adding two predicate functions that would make this a lot easier to read through:

```js
let isImplicitSave= ({value}) => !~items.indexOf(value)
let isAlreadySaved({value}) => !!value.id
```