【发布时间】:2017-04-15 01:33:44
【问题描述】:
如何在 Array1 中找到 Array2 。我一直在使用 $.inArray() 方法或 indexOf() 但它返回 false 但声明为 true。
var array1 = [{
h: 1480508328,
rid: 16,
sid: 2
}, {
h: 87542,
rid: 18,
sid: 9
}
];
var array2 = {
h: 1480508328,
rid: 16,
sid: 2
};
//test if array2 exist in array1
if ($.inArray(array2, array1) > 0) {
console.log('Object is in array');
} else {
console.log('Object is not in array');
}
请帮忙。谢谢
【问题讨论】:
-
仅供参考,
array2不是数组。它是一个对象。array2也不在array1中,只是一个看起来 像array2的对象。所以你必须iterate overarray1并检查是否有任何项目与array2匹配。 -
但是 var array1 是一个关联数组(取值)......不是吗?
-
好吧....不。 To quote: "JavaScript 不支持带有命名索引的数组。在 JavaScript 中,数组总是使用编号索引。"*
-
@jamesOduro 在某种程度上你可以这么说,但我们不会在 JS 中称它们为关联数组,因为无法保证顺序。它们被称为对象。
-
Javascript 很奇怪,这就是我们所说的
标签: javascript jquery arrays