您的位置:首页技术文章
文章详情页

javascript - js如何将匹配到的数组元素删掉?

【字号: 日期:2023-08-31 17:30:00浏览:23作者:猪猪

问题描述

var arr = [ { ServiceID: ’go-storage-127.0.0.1-8080-9090’, ServiceName: ’storage’, }, { ServiceID: ’System-xxx-192.168.0.111-8000-8000’, ServiceName: ’xxx’, }, { ServiceID: ’System-xxx2-192.168.0.111-8000-8000’, ServiceName: ’xxx2’, }, { ServiceID: ’System-xxx3-192.168.0.111-8000-8000’, ServiceName: ’xxx3’, }, {ServiceID: ’System2-xxx3-192.168.0.111-8000-8000’,ServiceName: ’xxx3’, }, {ServiceID: ’test-xxx3-192.168.0.111-8000-8000’,ServiceName: ’xxx3’,}];

将arr数组中ServiceID以test或者System开头的数组元素删掉 用删掉的方法总是没法讲匹配到的全删,哪位高手能帮个忙呢?谢谢!

问题解答

回答1:

arr = arr.filter(item => !(/^test|^System/i.test(item.ServiceID)))

回答2:

var startsWithArr = strArr => str => { return strArr.some(e => str.startsWith(e)); }var starts = startsWithArr([ ’test’, ’System-’]);var filterArr = arr => { arr.filter(e => !starts(e.ServiceID)); }回答3:

用Array.filter方法,将过滤后的数组赋值回arr;

arr = arr.filter(function(item) { return !(/^(test|System)/g.test(item.ServiceId || ’’));});

标签: JavaScript
相关文章: