我有一个数组["C09111718/1/165", "J04111732/1/241.5", "T03111746/1/200"]
,我想删除以"C09111718"
开头的元素
如何使用Javascript
答案 0 :(得分:1)
您可以使用filter
功能排除以C09111718
注意:此方法将创建一个新数组。
ES6:
var arr = ["C09111718/1/165", "J04111732/1/241.5", "T03111746/1/200"];
var newArr = arr.filter(str => !str.startsWith("C09111718"));
console.log(newArr);

ES5:
var arr = ["C09111718/1/165", "J04111732/1/241.5", "T03111746/1/200"];
var newArr = arr.filter(function(str) {
return !str.startsWith("C09111718");
});
console.log(newArr);

答案 1 :(得分:1)
你已经有答案,但仍然只是一个建议。 如果您要在之间搜索字符串。后来你可以利用正则表达式的力量。 :d
var arr = ["C09111718/1/165","J04111732/1/241.5","J04111732/C09111718/241.5","C09111718/1/165","C09111718/1/165","T03111746/1/200","C09111718/1/165"];
arr = arr.filter(function(item){
return item.search('C09111718') == -1;
});
console.log(arr);
答案 2 :(得分:0)
嗯@ Maulen的答案很棒。我希望您了解Array#some以及如何通过此方式实现解决方案。
只是为了好玩:)
var array = ["C09111718/1/165", "J04111732/1/241.5", "T03111746/1/200"];
var match = "C09111718";
function deleteIfMatches(array, match){
array.some((ele)=>{
ele.indexOf(match) >= 0 ? array.splice(array.indexOf(ele),1): null
});
console.log(array)
}
deleteIfMatches(array, match);