相关疑难解决方法(0)

如何确定对象是否在数组中

我需要确定一个对象是否已经存在于javascript中的数组中.

例如(虚拟代码):

var carBrands = [];

var car1 = {name:'ford'};
var car2 = {name:'lexus'};
var car3 = {name:'maserati'};
var car4 = {name:'ford'};

carBrands.push(car1);
carBrands.push(car2);
carBrands.push(car3);
carBrands.push(car4);
Run Code Online (Sandbox Code Playgroud)

现在"carBrands"数组包含所有实例.我现在正在寻找一个快速的解决方案来检查car1,car2,car3或car4的实例是否已经在carBrands数组中.

例如:

var contains =  carBrands.Contains(car1); //<--- returns bool.
Run Code Online (Sandbox Code Playgroud)

car1和car4包含相同的数据但是不同的实例它们应该被测试为不相等.

我是否在创建时向对象添加了哈希值?或者有更快的方法在Javascript中执行此操作.

我在这里寻找最快的解决方案,如果是脏的,那么它必须是;)在我的应用程序中,它必须处理大约10000个实例.

没有jquery

javascript

168
推荐指数
9
解决办法
27万
查看次数

标签 统计

javascript ×1