Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中从数组中删除某些匹配条件的元素?_Javascript - Fatal编程技术网

如何在javascript中从数组中删除某些匹配条件的元素?

如何在javascript中从数组中删除某些匹配条件的元素?,javascript,Javascript,我有一个数组 const arr = ['apple', 'banana', 'pear', 'orange', 'peach']; 测试函数如下所示 function test(str) { return str.length >= 6; } 我可以用filter方法轻松找到元素。但是我想从数组中删除这些元素 结果应该是 ['apple', 'pear', 'peach'] Javascript有一个函数专门用于此: const arr=[“苹果”、“香蕉”、“梨”、“橘子”、

我有一个数组

const arr = ['apple', 'banana', 'pear', 'orange', 'peach'];
测试函数如下所示

function test(str) {
  return str.length >= 6;
}
我可以用
filter
方法轻松找到元素。但是我想从数组中删除这些元素

结果应该是

['apple', 'pear', 'peach']

Javascript有一个函数专门用于此:

const arr=[“苹果”、“香蕉”、“梨”、“橘子”、“桃子”];
功能测试(str){
返回str.length>=6;
}
//我们需要否定结果,因为我们希望在test返回false的地方保留元素
console.log(arr.filter(x=>!test(x));
//日志:[‘苹果’、‘梨’、‘桃’]
在给定方法旁边

您可以利用函数式方法,该方法使用函数并重新运行函数的否定结果

功能测试(str){
返回str.length>=6;
}
功能不可用(fn){
返回(…args)=>!fn(…args);
}
常数
数组=[“苹果”、“香蕉”、“梨”、“橘子”、“桃子”],
结果=数组.filter(非(测试));

控制台日志(结果)您当前的函数与您实际想到的函数有什么关系?您可以将其与您的函数一起使用。顺便说一句,您只需要返回条件
returnstr.length>=6
arr.includes(['apple','pear','peach'])
?如果在数组中找到项,则返回
true
false
。@Red No不返回。它只是抛出了一个错误,因为在数组中没有
inaray
方法。@Aplet123对不起,我是说includes;)
array.filter(string => !test(string))