1. function addToArrayForm(num, k){
    2. var kArr = []
    3. while (k) {
    4. kArr.unshift(k % 10);
    5. k = ~~(k / 10)
    6. }
    7. const len = num.length;
    8. const kLen = kArr.length;
    9. let i = len - 1;
    10. let j = kLen - 1;
    11. let add = false;
    12. while (i >= 0 || j >= 0) {
    13. if (i >= 0) {
    14. num[i] += (~~add)
    15. }
    16. if (j >= 0) {
    17. num[i] += kArr[j];
    18. }
    19. if (num[i] >= 10) {
    20. num[i] = num[i] % 10
    21. add = true
    22. } else {
    23. add = false;
    24. }
    25. if (i === 0 && j > 0) {
    26. i = 0;
    27. num.unshift(0)
    28. } else {
    29. i--;
    30. }
    31. j--;
    32. }
    33. if (add) {
    34. num.unshift(1)
    35. }
    36. return num
    37. }
    38. // var a = [9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,6,3]
    39. var a = [7,7,5,2]
    40. var b = 7105
    41. // var a = [1]
    42. // var b = 9999
    43. console.log(
    44. addToArrayForm(a, b)
    45. );