Barrie Reader
Barrie Reader

Reputation: 10713

Creating a "fake AI" chat program

Hey everyone, I've been creating a little chat bot (for fun and practice).

I have the following function which isn't working correctly (FULL CODE HERE):

function runAI() {
            if (i.val().length > 0) { 
                if ($.inArray(i.val(), helloInputArray)) {
                    r = Math.floor(Math.random()*4);                        
                    o.html(o.html()+helloOutputArray[r]);
                    i.val('');
                    i.focus();
                } else if ($.inArray(i.val(), byeInputArray)) {
                    r = Math.floor(Math.random()*4);                        
                    o.html(o.html()+byeOutputArray[r]);
                    i.val('');
                    i.focus();
                } else {
                    o.html(o.html()+"I don't know what that means...<br />");
                    i.val('');
                    i.focus();
                }
            }
        }

It always seems to return the helloOutputArray...

Upvotes: 0

Views: 1396

Answers (1)

djdd87
djdd87

Reputation: 68476

$.inArray does not return true or false, it returns a 0 based index.

-1 means not found, > -1 is the index of the match in the array:

if ($.inArray(i.val(), helloInputArray) > -1) {
    // The item was in this array
}

Working version here.

Upvotes: 2

Related Questions