https://github.com/alpinejs/alpine/blob/f550d081e774841a8f97a496d3586bc2f57ec760/src/utils.js#L14-L24
Are there any valuable reasons for this?
To obtain only unique values for a given array arr you can just do arr = Array.from(new Set(arr)).
Supported by all major browsers + IE11
cheers
flash :zap:
Looks to me like new Set(iterable) is _not_ supported by IE11 (unfortunately!):

Ouh. But still
const set = new Set();
arr.forEach(v => set.add(v));
return Array.from(set);
The solution using Set should be faster, too.
Benchmark: https://perf.link/#Y29uc3QgdGVzdDEgPSBbLi4uQXJyYXkoMTAwMCkua2V5cygpXTsgLy9ObyBkdXBsaWNhdGVzCmNvbnN0IHRlc3QyID0gWy4uLkFycmF5KDEwMDApLmtleXMoKSwgOTk5LCA3LCA1MF07IC8vIENvbnRhaW5pbmcgZHVwbGljYXRlcw==/W3siY29kZSI6ImZ1bmN0aW9uIGFycmF5VW5pcXVlKGFycmF5KSB7IFxuICAgdmFyIGEgPSBhcnJheS5jb25jYXQoKTtcbiAgIGZvcih2YXIgaT0wOyBpPGEubGVuZ3RoOyArK2kpIHsgXG4gICAgICAgZm9yKHZhciBqPWkrMTsgajxhLmxlbmd0aDsgKytqKSB7IFxuICAgICAgICAgICBpZihhW2ldID09PSBhW2pdKSBcbiAgICAgICAgICAgICAgIGEuc3BsaWNlKGotLSwgMSk7IFxuICAgICAgIH0gXG4gICB9IFxuICBcbiAgIHJldHVybiBhOyBcbn1cbmNvbnN0IHJlc3VsdDEgPSBhcnJheVVuaXF1ZSh0ZXN0MSk7XG5jb25zdCByZXN1bHQyID0gYXJyYXlVbmlxdWUodGVzdDIpOyIsImVycm9yIjpmYWxzZSwibWVkaWFuIjoyLjA4NTAwMDA0MzczNDkwOH0seyJjb2RlIjoiZnVuY3Rpb24gYXJyYXlVbmlxdWUoYXJyYXkpIHsgXG4gIGNvbnN0IHNldCA9IG5ldyBTZXQoKTtcbiAgYXJyYXkuZm9yRWFjaCh2ID0+IHNldC5hZGQodikpO1xuICByZXR1cm4gQXJyYXkuZnJvbShzZXQpO1xufVxuY29uc3QgcmVzdWx0MSA9IGFycmF5VW5pcXVlKHRlc3QxKTtcbmNvbnN0IHJlc3VsdDIgPSBhcnJheVVuaXF1ZSh0ZXN0Mik7IiwiZXJyb3IiOmZhbHNlLCJtZWRpYW4iOjAuMDg1MDAwMTgxNTcwNjQ5MTV9LHsiY29kZSI6IiIsImVycm9yIjpmYWxzZSwibWVkaWFuIjowfV0=
You might take a decision about compatibility for IE11. More Detail here
cheers
flash :zap:
Maybe we can support this for just none IE Alpine. And leave the IE version with the current implementation. Because new Set() is fast :1st_place_medal: :grin:
Hi guys, going to close this issue since the arrayUnique function has been updated and was included in the 2.3.0 release. For those curious, the separate IE11 build includes a Set polyfill so that all the functionality is present. Thanks! :)
Most helpful comment
The solution using Set should be faster, too.
Benchmark: https://perf.link/#Y29uc3QgdGVzdDEgPSBbLi4uQXJyYXkoMTAwMCkua2V5cygpXTsgLy9ObyBkdXBsaWNhdGVzCmNvbnN0IHRlc3QyID0gWy4uLkFycmF5KDEwMDApLmtleXMoKSwgOTk5LCA3LCA1MF07IC8vIENvbnRhaW5pbmcgZHVwbGljYXRlcw==/W3siY29kZSI6ImZ1bmN0aW9uIGFycmF5VW5pcXVlKGFycmF5KSB7IFxuICAgdmFyIGEgPSBhcnJheS5jb25jYXQoKTtcbiAgIGZvcih2YXIgaT0wOyBpPGEubGVuZ3RoOyArK2kpIHsgXG4gICAgICAgZm9yKHZhciBqPWkrMTsgajxhLmxlbmd0aDsgKytqKSB7IFxuICAgICAgICAgICBpZihhW2ldID09PSBhW2pdKSBcbiAgICAgICAgICAgICAgIGEuc3BsaWNlKGotLSwgMSk7IFxuICAgICAgIH0gXG4gICB9IFxuICBcbiAgIHJldHVybiBhOyBcbn1cbmNvbnN0IHJlc3VsdDEgPSBhcnJheVVuaXF1ZSh0ZXN0MSk7XG5jb25zdCByZXN1bHQyID0gYXJyYXlVbmlxdWUodGVzdDIpOyIsImVycm9yIjpmYWxzZSwibWVkaWFuIjoyLjA4NTAwMDA0MzczNDkwOH0seyJjb2RlIjoiZnVuY3Rpb24gYXJyYXlVbmlxdWUoYXJyYXkpIHsgXG4gIGNvbnN0IHNldCA9IG5ldyBTZXQoKTtcbiAgYXJyYXkuZm9yRWFjaCh2ID0+IHNldC5hZGQodikpO1xuICByZXR1cm4gQXJyYXkuZnJvbShzZXQpO1xufVxuY29uc3QgcmVzdWx0MSA9IGFycmF5VW5pcXVlKHRlc3QxKTtcbmNvbnN0IHJlc3VsdDIgPSBhcnJheVVuaXF1ZSh0ZXN0Mik7IiwiZXJyb3IiOmZhbHNlLCJtZWRpYW4iOjAuMDg1MDAwMTgxNTcwNjQ5MTV9LHsiY29kZSI6IiIsImVycm9yIjpmYWxzZSwibWVkaWFuIjowfV0=