The Two-sum program in java script runs even when the if statement is false. When I enter a series of number in textbox1, and one number in textbox2. It should display 2 numbers from textbox1 which equals to textbox2.
For eg 1,2,3,6 in textbox1.
5 in textbox2.
The answer should be 2,3.
function TwoSum() {
inputArray1 = document.getElementById("inputText1").value.split(",");
inputArray2 = document.getElementById("inputText2").value.split(",");
var two = [];
var sum = 0;
var y = 0;
y = inputArray2[0];
var z = 0;
var a = 0;
var b = 0;
for (i = 0; i < inputArray1.length - 1; i++) {
if (z == 0) {
for (j = inputArray1.length - 1; j >= i; j--) {
a = inputArray1[i];
b = inputArray1[j];
if (a + b == y)
{
two[sum] = inputArray1[i];
sum++;
two[sum] = inputArray1[j];
sum++;
z++;
break;
}
}
}
if (z > 0)
break;
else
var incorrect = false;
}
if (z > 0)
document.getElementById("result").value = two.join(",");
else
document.getElementById("result").value = incorrect;
}
What I have tried:
When I enter 2,4,5,3 in 1 textBox and 5 in 2nd textbox, the answer should print 2,3 in the first loop itself. But when I debug, the if(a+b==y) isn't getting executed. It reads as false no matter what and jumps back to a=inputArray1[i], b= inputArray2[i].