Tuesday 31 October 2017

javascript - How to check if jQuery object exist in array?

itemprop="text">

Given an item
and an array, I would like to know if
item exist in
array.




item
is a jQuery object, e.g. $(".c"). You can assume that
item.length ==
1
.



array
is an array of jQuery objects, e.g. [$(".a"), $(".b")]. Each
item in this array may represent 0, 1, or more
objects.



Here is how I thought to implement
this: (live demo
here
)



function
inArray(item, arr) {
for (var i = 0; i < arr.length; i++) {
var
items = $.makeArray(arr[i]);


for (var k = 0; k <
items.length; k++) {
if (items[k] == item[0]) {
return
true;
}
}
}

return
false;
}



Can
you find a more elegant implementation?



/>

Example:



HTML:




            class="a">Hello

class="a">Stack

class="a">Overflow


class="b">Have

class="b">a

class="b">nice

class="b">day!


Bye
bye




JS:



console.log(inArray($(".a").eq(2),
[$(".a"), $(".b")])); // true
console.log(inArray($(".b").eq(3), [$(".a"),
$(".b")])); // true
console.log(inArray($(".c"), [$(".a"), $(".b")])); //
false
console.log(inArray($(".a").eq(2), [$(".b")])); //
false
console.log(inArray($(".a").eq(2), [])); //
false
console.log(inArray($(".c"), [$("div")])); //
true


class="post-text" itemprop="text">
class="normal">Answer



According
to Felix's
suggestion:



[$(selector1),
$(selector2), ... ]
can be simplified to



$(selector1, selector2,
...)


or




$(selector1).add(selector2)...


and
then it can be implemented
as:



function inArray(item, arr)
{
return (arr.index(item) !=
-1);
}



href="http://jsfiddle.net/e3WwB/3/">Live demo here



No comments:

Post a Comment

php - file_get_contents shows unexpected output while reading a file

I want to output an inline jpg image as a base64 encoded string, however when I do this : $contents = file_get_contents($filename); print &q...