Javascript 查找数组是否包含用户
我有一个解析后台作业,其中包含一个简单的查询。每个查询对应一个类。此类有2个数组字段,其中填充了objects.id。在这个查询中,对于每个对象,我需要检查第一个数组的objects.ID是否包含在第二个数组中。 基本上在一个简单的循环中:Javascript 查找数组是否包含用户,javascript,arrays,parse-platform,parse-cloud-code,Javascript,Arrays,Parse Platform,Parse Cloud Code,我有一个解析后台作业,其中包含一个简单的查询。每个查询对应一个类。此类有2个数组字段,其中填充了objects.id。在这个查询中,对于每个对象,我需要检查第一个数组的objects.ID是否包含在第二个数组中。 基本上在一个简单的循环中: var j = 0; for (var j = 0; j < firstArray.length; j++) { if(firstArray[j] "isContainedIn" secondArray){
var j = 0;
for (var j = 0; j < firstArray.length; j++) {
if(firstArray[j] "isContainedIn" secondArray){
// my custom code
}
}
var j=0;
对于(var j=0;j
我不知道要使用什么函数,如果存在的话..javascript有这样的函数吗?或者我需要做一个嵌套循环来实现我的目标
编辑:我使用indexOf解决了这个问题,但是Shqiptar提出的解决方案不起作用,所以这里是一个实际有效的解决方案:
第一个数组名=usersEligibleToVote
第二个数组名=usersthatdocated
for (var j = 0; j < usersEligibleToVote.length; j++) {
if(usersThatVoted.indexOf(usersEligibleToVote[j]) === -1){
console.log("user.id "+usersEligibleToVote[j]+" needs to vote");
} else {
console.log("user.id "+usersEligibleToVote[j]+" has voted");
}
}
for(var j=0;j
var j=0;
对于(var j=0;j
然后检查对象是否相同:
var j = 0;
for (var j = 0; j < firstArray.length; j++) {
if(firstArray[j].indexOf(secondArray) != -1)
{
// your custom code here
}
}
var j=0;
对于(var j=0;j
我将通过一个简单的jQuery和javascript for循环来处理它,如下所示:
var arr1;
var arr2;
var i;
for(i = 0; i < arr1.length; i++) {
if ($.inArray(arr1[i], arr2) {
break; //do things here or what not
}
}
var-arr1;
var-arr2;
var i;
对于(i=0;i
Nested loop,除非指针指向同一个对象……如果它们是完全相同的对象,则可以使用indexOf,而不是值,而是指向同一个对象的指针。我看到了这个问题,但我的答案是关于云代码的,我不认为其中的每个javascript函数都可用。注意:它必须是同一个对象,而不是ob具有相同值的对象。我认为您需要secondArray.contains(firstArray[j])
firstArray[j]。indexOf(secondArray)
您想在这里执行`!=-1`。返回值为0(falsy)意味着它在数组中。你的条件都是反向的。array.prototype.contains
还没有实现。-1对于这一点以及糟糕的索引检查。除了批评我之外,你还想在这段代码中做任何编辑吗?你会因为建议jQuery“为了这么简单的事情”而被否决呵呵。假设现在有人使用它——这是不公平的。没有反对票:(从技术上讲,只有两行:P我使用jQuery inArray要快得多。我在浏览产品列表和促销时使用它进行几个产品比较。是的,唯一的问题是,一些用户可能想捆绑整个jQuery只是为了使用这个帮助器,这很愚蠢,因为它不是该插件的目的。对于javasccript逻辑操作和填充->签出lodash或下划线。
var arr1;
var arr2;
var i;
for(i = 0; i < arr1.length; i++) {
if ($.inArray(arr1[i], arr2) {
break; //do things here or what not
}
}