Case sensitive javascript

How to make the variable "Partnum" case insensitive. When I run the script, it will not detect "aBcd" if I search for "abcd". I'm not sure what to do.

function doStuff() { var ss = SpreadsheetApp.getActiveSheet(); var starting_row = 2; // starting row to scan for part# on column C // outer loop, loop over products sold for (var j=6;j<=16;j++) { var r = ss.getRange(j,2); // read inventory part number entered var partnum = r.getValue(); if (!partnum) { continue; // attempt to skip over empty rows in the B6:B16 range } var partcount = parseInt(ss.getRange(j,1).getValue()); if (isNaN(partcount) || partcount<=0) { // invalid quantity. skip. continue; } // Browser.msgBox("partnum = "+partnum); // get list of known part # from the spreadsheet var parts = ss.getRange(starting_row,3,9999,1).getValues(); var found = false; for (var i=0,l=parts.length;i<l;++i) { if (parts[i]==partnum) { // we have found our part. grab inventory count cell. found = true; var count = ss.getRange(starting_row+i,1).getValue(); if (count-partcount<0) { Browser.msgBox("Error: Inventory for part "+partnum+", is "+count); } else { // write back the count number for that part, decremented by 1. ss.getRange(starting_row+i,1).setValue(count-partcount); // Browser.msgBox("Inventory updated."); } break; // either way, we're done with that part. } } if (!found) { Browser.msgBox("Part# "+partnum+" not found."); } } } 
+4
source share
3 answers

For the spell, here is the answer. Although @Freddie was the first to mention this.

 // get list of known part # from the spreadsheet var parts = ss.getRange(starting_row,3,9999,1).getValues(); var found = false; for (var i=0,l=parts.length;i<l;++i) { if (parts[i]==partnum) { 

becomes:

 // get list of known part # from the spreadsheet var parts = ss.getRange(starting_row,3,9999,1).getValues(); var found = false; for (var i=0,l=parts.length;i<l;++i) { if (parts[i].toLowerCase()==partnum.toLowerCase()) { // <-- NOTE CHANGE HERE 

EDIT For non-string objects

 // get list of known part # from the spreadsheet var parts = ss.getRange(starting_row,3,9999,1).getValues(); var found = false; for (var i=0,l=parts.length;i<l;++i) { if ((parts[i]+"").toLowerCase()==(partnum+"").toLowerCase()) { // <-- NOTE CHANGE HERE 

thanks to the Shadow Wizard

+5
source

maybe you can use toUpperCase ()?

0
source

Shadow Wizard came up with an answer that solved my problem

if ((parts [i] + ") .toLowerCase () == (partnum +" ") .toLowerCase ()) -

thanks

0
source

All Articles