jQuery可以测试数组是否存在对象(作为核心功能的一部分还是通过可用的插件)?
此外,我正在寻找类似的东西array.remove,它将从数组中删除给定的对象.jQuery可以为我处理这个吗?
我有一个数组:
array = [..., "Hello", "World", "Again", ...]
Run Code Online (Sandbox Code Playgroud)
我怎么能检查阵列中是否有"世界"?然后删除它,如果它存在?并提到"世界"?
有时候我可能想用正则表达式匹配一个单词,在这种情况下我不会知道确切的字符串所以我需要引用匹配的字符串.但在这种情况下,我肯定知道这是"世界",这使它更简单.
谢谢你的建议.我找到了一个很酷的方法:
CoffeeScript文档声明列表推导应该能够执行选择/过滤操作:
它们应该能够处理大多数你将使用循环,每个/ forEach,map或select/filter的地方.
你可以想象你可以在一条线上做点什么,result = item for item in list if item % 2 == 0
但是我能来的最近
list = [1,2,3,4]
result = []
for item in list
if item % 2 == 0 then result.push item
Run Code Online (Sandbox Code Playgroud)
什么是最简洁的方法来过滤CoffeeScript中的列表?
我在CoffeeScript中使用以下代码:
if elem in my_array
do_something()
Run Code Online (Sandbox Code Playgroud)
哪个编译成这个javascript:
if (__indexOf.call(my_array, elem) < 0) {
my_array.push(elem);
}
Run Code Online (Sandbox Code Playgroud)
我可以看到它使用了在脚本顶部定义的函数__indexOf.
我的问题是关于这个用例:我想从数组中删除一个元素,我想支持IE8.我可以做到这一点很容易indexOf,并splice在谁支持的浏览器indexOf的的array对象.但是,在IE8中,这不起作用:
if (attr_index = my_array.indexOf(elem)) > -1
my_array.splice(attr_index, 1)
Run Code Online (Sandbox Code Playgroud)
我尝试使用__indexOfCoffeScript定义的函数,但我在编译器中得到一个保留字错误.
if (attr_index = __indexOf.call(my_array, elem) > -1
my_array.splice(attr_index, 1)
Run Code Online (Sandbox Code Playgroud)
那么我如何使用CoffeScript或者是否有更不引人注意的方法来调用indexOf?两次定义相同的函数似乎很奇怪,因为CoffeeScript不允许我使用他们的...
如何从jquery数组对象中删除项目.
我使用拼接方法如下.但它切片数组[i]的下一项.
$.each(array, function (i, item) {
var user = array[i];
jQuery.each(array2, function (index, idata) {
debugger
if (idata.Id == user.UserId) {
tempFlag = 1;
return false; // this stops the each
}
else {
tempFlag = 0;
}
});
if (tempFlag != 1) {
//removes an item here
array.splice(user, 1);
}
})
Run Code Online (Sandbox Code Playgroud)
谁能告诉我这里我错在哪里?