Guest User

Untitled

a guest
Jul 17th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.11 KB | None | 0 0
  1. const a1 = new List(['a', 'b', 'c']);
  2. const a2 = new List(['x', 'y', 'z']);
  3.  
  4. const combinedArray = combineArrays(a1,a2);
  5. => combinedArray: ['a-x', 'a-y', 'a-z', 'b-x', 'b-y', 'b-z', 'c-x', 'c-y', 'c-z']
  6.  
  7. import { List } from 'immutable';
  8.  
  9. const combineArray = (arrayA = new List([]), arrayB = new List([])) => {
  10. if (arrayA.count() === 0) {
  11. return arrayB;
  12. }
  13.  
  14. if (arrayB.count() === 0) {
  15. return arrayA;
  16. }
  17.  
  18. let combinations = new List([]);
  19.  
  20. combinations = arrayA.reduce((accum, value) => {
  21. if (value) {
  22. return accum.push(arrayB.reduce((accum2, value2) => {
  23. if (value2) {
  24. return accum2.push(`${value}-${value2}`);
  25. }
  26. return value;
  27. }, new List([])));
  28. }
  29.  
  30. return accum;
  31. }, new List([]));
  32.  
  33. return combinations.flatten(true);
  34. };
  35.  
  36. export default combineArray;
  37.  
  38. import { List } from 'immutable';
  39.  
  40. const combineArray = (arrayA = new List([]), arrayB = new List([])) => {
  41. if (arrayA.isEmpty()) { return arrayB; }
  42. if (arrayB.isEmpty()) { return arrayA; }
  43.  
  44. return arrayA.flatMap(valueA => (
  45. arrayB.map(valueB => (
  46. `${valueA}-${valueB}`
  47. ))
  48. ));
  49. };
  50.  
  51. export default combineArray;
Add Comment
Please, Sign In to add comment