_concat.js 697 B

12345678910111213141516171819202122232425262728293031323334
  1. /**
  2. * Private `concat` function to merge two array-like objects.
  3. *
  4. * @private
  5. * @param {Array|Arguments} [set1=[]] An array-like object.
  6. * @param {Array|Arguments} [set2=[]] An array-like object.
  7. * @return {Array} A new, merged array.
  8. * @example
  9. *
  10. * _concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3]
  11. */
  12. export default function _concat(set1, set2) {
  13. set1 = set1 || [];
  14. set2 = set2 || [];
  15. var idx;
  16. var len1 = set1.length;
  17. var len2 = set2.length;
  18. var result = [];
  19. idx = 0;
  20. while (idx < len1) {
  21. result[result.length] = set1[idx];
  22. idx += 1;
  23. }
  24. idx = 0;
  25. while (idx < len2) {
  26. result[result.length] = set2[idx];
  27. idx += 1;
  28. }
  29. return result;
  30. }