js判断元素是否存在 indexOf ()
indexOf在js中有着重要的作用,可以判断一个元素是否在数组中存在,或者判断一个字符是否在字符串中存在,如果存在返回该元素或字符第一次出现的位置的索引,不存在返回-1。
例如:
var arr = [1, 2, 3]; console.log(arr.indexOf(2)); //打印结果为1
又或者
var str = "helloworld";
console.log(str.indexOf("w"));  //打印结果为5   
   但是,indexOf真的就是好东西吗?看下面的代码。
var arr = [{name:"racyily",age:22},{name:"susan",age:18}];
var obj = {name:"susan",age:18};
console.log(arr.indexOf(obj));  //打印结果为-1 
   我们发现obj和arr数组中第1个元素时一样的。但是却返回-1。
这下明白了,就是因为如果数组中存放的是对象或者数组的话,必须是该对象的引用,才可以使用indexOf得到正确的索引值。
那么,如果想判断一个对象(数组)在一个数组中是否存在(值与元素相等),如何实现呢?
只能自己写一个方法去实现了,具体方法略,本人还不清楚。
indexOf在js中有着重要的作用,可以判断一个元素是否在数组中存在,或者判断一个字符是否在字符串中存在,如果存在返回该元素或字符第一次出现的位置的索引,不存在返回-1。 例如: var arr = [1, 2, 3]; console.log(arr.indexOf(2)); //打印结果为1 又或者 var str = "helloworld"; console.log(str.indexOf("w")); //打印结果为5 但是,indexOf真的就是好东西吗?看下面的代码。 var arr = [{name:"racyily",age:22},{name:"susan",age:18}]; var obj = {name:"susan",age:18}; console.log(arr.indexOf(obj)); //打印结果为-1 我们发现obj和arr数组中第1个元素时一样的。但是却返回-1。 这下明白了,就是因为如果数组中存放的是对象或者数组的话,必须是该对象的引用,才可以使用indexOf得到正确的索引值。 那么,如果想判断一个对象(数组)在一个数组中是否存在(值与元素相等),如何实现呢? 只能自己写一个方法去实现了,具体方法略,本人还不清楚。下一篇:
			            SpringMVC框架(完整版) 
			          
			        