删除数组jquery或Javascript中包含特定单词的所有单元格
假设我有这个数组:删除数组jquery或Javascript中包含特定单词的所有单元格,javascript,jquery,arrays,Javascript,Jquery,Arrays,假设我有这个数组: var fruits = ["Banana-101", "Orange-105", "Apple-110", "Mango-103", "Banana-102", "Banana-104"]; 我需要删除所有包含单词“Banana”的单元格,以便输出数组如下所示: var fruits = ["Orange-105", "Apple-110", "Mango-103"]; 如何使用Jquery实现这一点 我尝试过这一点,但它不是真的: var found = $.inAr
var fruits = ["Banana-101", "Orange-105", "Apple-110", "Mango-103", "Banana-102", "Banana-104"];
我需要删除所有包含单词“Banana”的单元格,以便输出数组如下所示:
var fruits = ["Orange-105", "Apple-110", "Mango-103"];
如何使用Jquery实现这一点
我尝试过这一点,但它不是真的:
var found = $.inArray(fruit_id, myarray) > -1;
myarray.splice(found, 1);
我看到了,但在前面提到的主题中,答案只是删除了一个包含特定单词的单元格,例如“Banana-101”,但我的问题是如何删除所有包含例如“Banana”的单元格 您可以使用该方法过滤掉不需要的元素
var fruits = [
"Banana-101",
"Orange-105",
"Apple-110",
"Mango-103",
"Banana-102",
"Banana-104"
];
fruits = $(fruits).filter(function () {
return this.indexOf("Banana") === -1;
});
console.log(fruits); // ["Orange-105", "Apple-110", "Mango-103"]
具有和的解决方案
var fruits=[“香蕉-101”、“橙-105”、“苹果-110”、“芒果-103”、“香蕉-102”、“香蕉-104”],
香蕉=/banana/i;//香蕉的正则表达式不区分大小写
水果=水果。过滤器(功能(a){
返回!a.匹配(香蕉);
});
原木(水果)代码>在您的代码中,找到的将是true
或false
。对于拼接
的索引
参数,两者都不是有效的参数
如果必须修改现有的数组,请向后循环该数组并删除匹配的条目:
var-fruits=[“香蕉-101”、“橙-105”、“苹果-110”、“芒果-103”、“香蕉-102”、“香蕉-104”];
var fruit_id=“香蕉”;
console.log(“之前:+fruits”);
var指数;
对于(索引=水果。长度-1;索引>=0;--索引){
if(水果[索引].indexOf(水果id)!=-1){
水果.拼接(指数1);
}
}
console.log(“之后:“+fruits”)代码>请记住,您的问题与jQuery无关,而是与普通javascript相关。您可以查看javascript过滤器方法。不要在某些框架中寻找神奇的方法来完成这种任务,花点时间学习javascript。致以最诚挚的问候,祝您学习愉快
var fruits = ["Banana-101", "Orange-105", "Apple-110", "Mango-103", "Banana-102", "Banana-104"];
var word = "Banana";
fruits = fruits.filter(function(value){
return value.indexOf(word) == -1;
})
console.log(fruits);
在带有一些trikcy js的ES6中,大约需要一行代码
~
是一个逐位运算符,它将-1
falsy以及任何=0
truthy
var-fruits=[“香蕉-101”、“橙-105”、“苹果-110”、“芒果-103”、“香蕉-102”、“香蕉-104”];
var final=fruits.filter(x=>!~x.indexOf('Banana');
文件编写(最终)代码>发现@AlexMcMillan var=$.inArray(fruit\u id,myarray)的可能重复项>-1;myarray.splice(找到,1个);在您的代码中,找到的将是true
或false
。对于splice
@AndrewL的index
参数,这两个参数都不是有效的参数。请删除特定值,例如删除“Banana-101”,但我需要删除所有具有我刚刚测试过的“Banana”的单元格,它可以正常工作。。。我相信有些人会把它当作一项运动来投票。@T.J.Crowder,现在它是一个正则表达式。为了提高性能,我认为最好将你的正则表达式放在过滤器之外,因为它在每次迭代中都是“编译”的……哈哈,大约快了76.58227,谢谢你的改进;-)