sets.js 594 B

12345678910111213141516171819202122232425262728293031
  1. export function push(array, value) {
  2. if (array.indexOf(value) === -1) {
  3. let copy = array.slice();
  4. copy.push(value);
  5. return copy;
  6. } else {
  7. return array;
  8. }
  9. }
  10. export function remove(array, value) {
  11. if (array.indexOf(value) >= 0) {
  12. return array.filter(function(i) {
  13. return i !== value;
  14. });
  15. } else {
  16. return array;
  17. }
  18. }
  19. export function toggle(array, value) {
  20. if (array.indexOf(value) === -1) {
  21. let copy = array.slice();
  22. copy.push(value);
  23. return copy;
  24. } else {
  25. return array.filter(function(i) {
  26. return i !== value;
  27. });
  28. }
  29. }