Javascript 匹配子字符串并删除数组元素
我有一个数组Javascript 匹配子字符串并删除数组元素,javascript,jquery,arrays,Javascript,Jquery,Arrays,我有一个数组[“C09111718/1/165”,“J04111732/1/241.5”,“T0311746/1/200”],我想删除以开头的元素“C09111718” 如何使用Javascript实现这一点?您可以使用过滤器功能排除以C09111718开始的任何元素 注意:此方法将创建一个新数组 ES6: var-arr=[“c0911718/1/165”、“J04111732/1/241.5”、“t0311746/1/200”]; var newArr=arr.filter(str=>!s
[“C09111718/1/165”,“J04111732/1/241.5”,“T0311746/1/200”]
,我想删除以开头的元素“C09111718”
如何使用Javascript实现这一点?您可以使用
过滤器功能排除以C09111718开始的任何元素
注意:此方法将创建一个新数组
ES6:
var-arr=[“c0911718/1/165”、“J04111732/1/241.5”、“t0311746/1/200”];
var newArr=arr.filter(str=>!str.startsWith(“C09111718”);
控制台日志(newArr)代码>您可以使用过滤器
功能排除以C09111718开始的任何元素
注意:此方法将创建一个新数组
ES6:
var-arr=[“c0911718/1/165”、“J04111732/1/241.5”、“t0311746/1/200”];
var newArr=arr.filter(str=>!str.startsWith(“C09111718”);
控制台日志(newArr)代码>您已经有了答案,但仍然只是一个建议如果在这两个字符串之间有要搜索的字符串。以后还可以使用regex的强大功能:D
var arr=[“c0911718/1/165”、“J04111732/1/241.5”、“J04111732/c0911718/241.5”、“c0911718/1/165”、“c0911718/1/165”、“t0311746/1/200”、“c0911718/1/165”];
arr=arr.filter(功能(项目){
返回项。搜索('C09111718')=-1;
});
控制台日志(arr)代码>您已经有了答案,但仍然只是一个建议如果在这两个字符串之间有要搜索的字符串。以后还可以使用regex的强大功能:D
var arr=[“c0911718/1/165”、“J04111732/1/241.5”、“J04111732/c0911718/241.5”、“c0911718/1/165”、“c0911718/1/165”、“t0311746/1/200”、“c0911718/1/165”];
arr=arr.filter(功能(项目){
返回项。搜索('C09111718')=-1;
});
控制台日志(arr)代码>嗯@Maulen的答案太棒了。我只想让你知道,你可以如何实现你的解决方案与此
只是为了好玩:)
var数组=[“c0911718/1/165”、“J04111732/1/241.5”、“t0311746/1/200”];
var match=“C09111718”;
函数deleteIfMatches(数组,匹配){
array.some((ele)=>{
ele.indexOf(match)>=0?array.splice(array.indexOf(ele),1):空
});
console.log(数组)
}
deleteIfMatches(数组,匹配)代码>嗯@Maulen的答案太棒了。我只想让你知道,你可以如何实现你的解决方案与此
只是为了好玩:)
var数组=[“c0911718/1/165”、“J04111732/1/241.5”、“t0311746/1/200”];
var match=“C09111718”;
函数deleteIfMatches(数组,匹配){
array.some((ele)=>{
ele.indexOf(match)>=0?array.splice(array.indexOf(ele),1):空
});
console.log(数组)
}
deleteIfMatches(数组,匹配)代码>谢谢你的建议很乐意帮助…:D谢谢你的建议很乐意帮助…:这是一个更好的答案吗ele.indexOf(match)>=0
返回true,即使C09111718不在字符串的开头。此外,不需要array.indexOf(ele)
,因为array#一些
将索引作为第二个参数。不用说一个forEach就足够了。以这种方式使用some
根本没有任何意义。这是一个更好的答案吗ele.indexOf(match)>=0
返回true,即使C09111718不在字符串的开头。此外,不需要array.indexOf(ele)
,因为array#一些
将索引作为第二个参数。更不用说一个forEach就足够了。以这种方式使用some
是毫无意义的。