我有:
var array = new Array();
array.push("A");
array.push("B");
array.push("C");
我希望能够做到:
array.remove (" B ");
但是没有移除函数。我该怎么做呢?
我有:
var array = new Array();
array.push("A");
array.push("B");
array.push("C");
我希望能够做到:
array.remove (" B ");
但是没有移除函数。我该怎么做呢?
当前回答
use:
array.splice(2, 1);
这将从数组中删除一项,从索引2开始(第3项)
其他回答
简单的
array.splice(array.indexOf(item), 1);
如果想要从字符串数组中移除字符串数组:
const names = ['1','2','3','4']
const excludeNames = ['2','3']
const filteredNames = names.filter((name) => !excludeNames.includes(name));
// ['1','4']
以相反的顺序遍历列表,并使用.splice方法。
var array = ['A', 'B', 'C']; // Test
var search_term = 'B';
for (var i=array.length-1; i>=0; i--) {
if (array[i] === search_term) {
array.splice(i, 1);
// break; //<-- Uncomment if only the first term has to be removed
}
}
当必须删除所有出现的搜索词时,反向顺序很重要。否则,计数器将增加,您将跳过元素。
当只有第一个事件必须删除时,以下也将起作用:
var index = array.indexOf(search_term); // <-- Not supported in <IE9
if (index !== -1) {
array.splice(index, 1);
}
use:
array.splice(2, 1);
这将从数组中删除一项,从索引2开始(第3项)
这只对str list有效,查一下
myStrList.filter(item=> !["deletedValue","deletedValue2"].includes(item))