如何正确使用indexOf()与几个元素?

时间:2017-04-17 15:06:44

标签: javascript arrays indexof

我有一个

数组
scale parameter

哪个收益率:

clickedImages Ids是:TaTg6hf3Gok5NsWYp XzGxS3LDtJ4DrXSdc 8CdapJoeSxSScHKFs

var clickedImages = Session.get('clickedImages'); 
clickedImages = clickedImages.map( function(a) {return a.imageId;});

console.log("clickedImages Ids are: " ,...clickedImages);

哪个收益率:

var TotalOfallImageIds =  buyList.find().fetch().map(function(u) { return u._id; });
console.log(TotalOfallIds); 

但是,当我运行下面的代码时,为什么会出现错误?

["yzML7ZLvkWkjBBvq5", "XzGxS3LDtJ4DrXSdc", "TaTg6hf3Gok5NsWYp", "8CdapJoeSxSScHKFs"]

上面的代码产生: false

如何正确使用带有多个元素的indexOf()?

2 个答案:

答案 0 :(得分:1)

由于TotalOfallImageIds===引用的点击图片ID的数组 clickedImages中没有条目。字符串中没有数组===(因为当操作数不是同一类型时,===的结果总是falseindexOf使用===进行比较。

答案 1 :(得分:0)

.indexOf用于比较项目,因此您需要迭代一个数组并使用另一个数据进行indexOf

var allClicked = true;

for (var i = 0; i < clickedImages.length; i++) {
    var clickedImg = clickedImages[i];
    allClicked = TotalOfallImageIds.indexOf(clickedImg) > -1 && allClicked;    
}