js怎么判断某个数组里面是否包含这个元素

 我来答
冬过春来秋等收
2016-09-26 · TA获得超过262个赞
知道小有建树答主
回答量:751
采纳率:25%
帮助的人:791万
展开全部
可以使用数组的indexOf()方法,如果返回值为-1则说明不存在,如果返回值为大于-1的整数,则说明存在。例如: var arr = [1,2,3]; arr.indexOf(1); // 返回0 arr.indexOf(5); // 返回-1 附:返回值为数组中的最靠前元素在数组的位置
柯梦轩8
2018-03-31 · TA获得超过702个赞
知道答主
回答量:5
采纳率:82%
帮助的人:893
展开全部

在C#语法中判断集合是否包含某个元素可以使用Contains方法,但是类似的问题在javascript中要怎么处理呢,js中没有Contains方法。
我们可以利用js的原型扩展来封装一个我们自己的Contains方法。

<script type="text/javascript">
$(function () {
Array.prototype.contains = function (element) { //利用Array的原型prototype点出一个我想要封装的方法名contains
for (var i = 0; i < this.length; i++) {
if (this[i] == element) { //如果数组中某个元素和你想要测试的元素对象element相等,则证明数组中包含这个元素,返回true
return true;
}
}
}
//用一个例子来验证一些我们封装的方法
var $subCategoryID = $("#hidSubCategory").val();
var $subCategoryIDs = new Array(); //构造一个数组对象
$subCategoryIDs = $subCategoryID.split(","); //为数组赋值
$("input[type=radio]").each(function () {
if ($subCategoryIDs.contains($(this).attr("id"))) { //利用contains方法判断数组中是否含有$(this).attr("id")
$(this).attr("checked", true);
}
})
})
</script>

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2018-04-23
展开全部
js里用遍历;jQuery里用 $.inArray(array, item);array是数组,item是要检查的某项,没有返回-1,有返回位置,有点类似string.indexOf()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式