Quiero la función "entre" o "dentro" en lodash o JS. Ya existe lo contrario, se llama "incluye". Ejemplo :
_(['a', 42]).includes(42)me gustaria escribir
_(42).amongst(['a', 42])Alguna pista ?
Su función between / within es una versión de amongst _.includes() con el value de búsqueda primero y la collection segundo, por lo que puede crear uno fácilmente volteando _.includes() :
const amongst = _.flip(_.includes) console.log(amongst(42, ['a', 42])) console.log(amongst('b', ['a', 42])) <script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js" integrity="sha512-WFN04846sdKMIP5LKNphMaWzU7YpMyCU245etK3g/2ARYbPK9Ub18eG+ljU96qKRCWh+quCY7yefSmlkQw1ANQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script> Y puedes usar _.mixin() para agregarlo a lodash:
const amongst = _.flip(_.includes) _.mixin({ amongst }); console.log(_(42).amongst(['a', 42])) console.log(_('b').amongst(['a', 42])) <script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js" integrity="sha512-WFN04846sdKMIP5LKNphMaWzU7YpMyCU245etK3g/2ARYbPK9Ub18eG+ljU96qKRCWh+quCY7yefSmlkQw1ANQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>En vanillaJS puedes crear una función que haga lo mismo:
const amongst = (value, collection) => collection.includes(value) console.log(amongst(42, ['a', 42])) console.log(amongst('b', ['a', 42])) <script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js" integrity="sha512-WFN04846sdKMIP5LKNphMaWzU7YpMyCU245etK3g/2ARYbPK9Ub18eG+ljU96qKRCWh+quCY7yefSmlkQw1ANQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>