admin管理员组文章数量:1355570
I fully understand Javascript is case sensitive, but when it es to if statements Sam does not equal to sam. I created a prompt box calling this function and I would like it to convert sam to Sam or make both True when you type the name into the prompt box.
function search(name) {
var ourContacts = contacts.length;
for (var i = 0; i < ourContacts; i++) {
if (contacts[i].name === name) {
printdog(contacts[i]);
}
}
}
Here is my whole script if you need it for better understandings.
function dog(name, breed, age, color, weight, owner, owneraddress) {
this.name = name;
this.breed = breed;
this.age = age;
this.color = color;
this.weight = weight;
this.owner = owner;
this.owneraddress = owneraddress;
}
//My Dogs
var sam = {
name: "Sam",
breed: "Chihuahua",
age: 7,
color: "White",
weight: "7 lb",
owner: "Bourton",
owneraddress: "44 Berkley Drive"
};
var max = {
name: "Max",
breed: "Chihuahua",
age: 4,
color: "Brown",
weight: "5 lb",
owner: "Smith",
owneraddress: "134 Door Ave"
};
//My array of dogs
var contacts = [sam, max];
function printdog(dog) {
console.log(dog.name + " " + dog.owner);
}
function list() {
var ourContacts = contacts.length;
for (var i = 0; i < ourContacts; i++) {
printdog(contacts[i]);
}
}
list();
function search(name) {
var ourContacts = contacts.length;
for (var i = 0; i < ourContacts; i++) {
name = name.toLowerCase;
if (contacts[i].name === name) {
printdog(contacts[i]);
}
}
}
<button onclick="search(prompt('Search Dogs Name'))">Search for Dog</button>
I fully understand Javascript is case sensitive, but when it es to if statements Sam does not equal to sam. I created a prompt box calling this function and I would like it to convert sam to Sam or make both True when you type the name into the prompt box.
function search(name) {
var ourContacts = contacts.length;
for (var i = 0; i < ourContacts; i++) {
if (contacts[i].name === name) {
printdog(contacts[i]);
}
}
}
Here is my whole script if you need it for better understandings.
function dog(name, breed, age, color, weight, owner, owneraddress) {
this.name = name;
this.breed = breed;
this.age = age;
this.color = color;
this.weight = weight;
this.owner = owner;
this.owneraddress = owneraddress;
}
//My Dogs
var sam = {
name: "Sam",
breed: "Chihuahua",
age: 7,
color: "White",
weight: "7 lb",
owner: "Bourton",
owneraddress: "44 Berkley Drive"
};
var max = {
name: "Max",
breed: "Chihuahua",
age: 4,
color: "Brown",
weight: "5 lb",
owner: "Smith",
owneraddress: "134 Door Ave"
};
//My array of dogs
var contacts = [sam, max];
function printdog(dog) {
console.log(dog.name + " " + dog.owner);
}
function list() {
var ourContacts = contacts.length;
for (var i = 0; i < ourContacts; i++) {
printdog(contacts[i]);
}
}
list();
function search(name) {
var ourContacts = contacts.length;
for (var i = 0; i < ourContacts; i++) {
name = name.toLowerCase;
if (contacts[i].name === name) {
printdog(contacts[i]);
}
}
}
<button onclick="search(prompt('Search Dogs Name'))">Search for Dog</button>
Share
Improve this question
asked Jul 27, 2012 at 19:39
Sam SatanasSam Satanas
792 silver badges10 bronze badges
3
-
Why do you have a
dog
constructor but don't use it? – Bergi Commented Jul 27, 2012 at 19:46 - I am still learning about objects, so I am not sure. I just thought it was apart of making objects. – Sam Satanas Commented Jul 27, 2012 at 19:54
- function printdog(dog) { console.log(dog.name + " " + dog.owner); } – Sam Satanas Commented Jul 27, 2012 at 22:03
3 Answers
Reset to default 4you may do something like .toUpperCase()
on both ends before equality parer
You can use the Javascript .toUpperCase() method on both operands:
if (contacts[i].name.toUpperCase() === name.toUpperCase())
Alternatively, you can use the .toLowerCase() method on both operands:
if (contacts[i].name.toLowerCase() === name.toLowerCase())
Just lower- or uppercase everything (both search and data). You already tried do do this for name
, but not on contacts[i].name
(and they're named "Sam" and "Max", so they will never equal a lowercased input string).
Also, you forgot to execute the function - you just got a reference to it.
function search(name) {
var ourContacts = contacts.length;
name = name.toLowerCase();
// ^^
for (var i = 0; i < ourContacts; i++) {
if (contacts[i].name.toLowerCase() === name) {
// ^^^^^^^^^^^^^^
printdog(contacts[i]);
}
}
}
本文标签: How do I get Javascript to be not case sensitive when it comes to if statementsStack Overflow
版权声明:本文标题:How do I get Javascript to be not case sensitive when it comes to if statements? - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1743992360a2572378.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论