# How do I add 1 to a big integer represented as a string in JavaScript?

How do I add 1 to this string in JavaScript?

``````var message = "12345612345678901234567890";
``````

I want the output like this:

``````"12345612345678901234567891"
``````

I tried this:

``````var message = "12345612345678901234567890";
message = parseInt(message);
var result = message + 1;
``````

But `parseInt` returned a value in scientific notation like 1.234567896453e+25.

Try the big integer library BigInteger.js to add large numbers.

``````var message = "12345612345678901234567890";

var messageAsNumber = bigInt(message);

console.log(messagePlusOne.toString());``````
``<script src="https://peterolson.github.io/BigInteger.js/BigInteger.min.js"></script>``

You can create an array from the string in `.length`s of `3` beginning from the end of the string.

Use a pattern which checks if adding `1` would result in the index of the array as a number would sum to `1000`, if `true`, increment previous array index by `1` and fill the current array index with `"000"`.

The pattern below only checks and adjusts last two elements of array; the same pattern can be extended to check each index of array, to properly adjust one or more of the indexes to `"000"` and increment the previous index by `1`.

``````let message1 = "12345612345678901234567890";
let message2 = "12345612345678901234567999";
let message3 = "12345612345678901234999999";

const [N, len, max] = [3, str.length, 1000];

for (let i = -N, l = len; digits.length < len / N; i -= N, l -= N) {
digits.unshift(str.slice(i, l));
}

if (+digits[digits.length - m] + numToAdd < max) {
let n = +digits[digits.length - m];
digits[digits.length - m] = String(Number(n + numToAdd));
} else {
const M = m + 1;
if (+digits[digits.length - M] + numToAdd < max) {
let n = +digits[digits.length - M];
digits[digits.length - M] = String(Number(n + numToAdd));
digits[digits.length - (M - 1)] = "0".repeat(N);
} else {
if (digits[digits.length - (m + 1)]) {
digits[digits.length - (M - 1)] = "0".repeat(N);
}
}
}
return digits.join("")
}

}

console.log(