js 数组的indexOf可以判断对象数组中的对象有没有在数组中吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 数组的indexOf可以判断对象数组中的对象有没有在数组中吗相关的知识,希望对你有一定的参考价值。

参考技术A 可以。
var o1 = name: 'o1' ;
var o2 = name: 'o2' ;
var o3 = name: 'o3' ;

var arr = [ o1, o2, o3 ];

arr.indexOf( o1 ); // 0
arr.indexOf( o2 ); // 1
arr.indexOf( o3 ); // 2

arr.indexOf( o2 ) >= 0 // true本回答被提问者采纳

js 怎么判断一个值是不是是数组

可以使用数组的indexOf()方法,如果返回值为-1则说明不存在,如果返回值为大于-1的整数,则说明存在。例如:
var arr = [1,2,3];
arr.indexOf(1); // 返回0
arr.indexOf(5); // 返回-1
附:返回值为数组中的最靠前元素在数组的位置
参考技术A 本来判断一个对象类型用typeof是最好的,不过对于Array类型是不适用的
可以使用 instanceof操作符
var arrayStr=new Array("1","2","3","4","5");
alert(arrayStr instanceof Array);
当然以上在一个简单的页面布局里面是没有问题的,如果是复杂页面情况,入获取的是frame内部的Array对象,可以用这个函数判断:
function isArray(obj)
return Object.prototype.toString.call(obj) === '[object Array]';
本回答被提问者采纳

以上是关于js 数组的indexOf可以判断对象数组中的对象有没有在数组中吗的主要内容,如果未能解决你的问题,请参考以下文章

js中判断对象数组中是不是有某个属性值

js 判断数组中是不是包含

js判断对象数组中是否存在某个对象

js 怎么判断一个值是不是是数组

js怎么判断某个数组里面是不是包含这个元素

JS 判断某变量是不是为某数组中的一个值 的几种方法