删除数组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,谢谢你的改进;-)