龙空技术网

JavaScript-如何从一个数组中删除一个特定的项目?

Plzbefat 423

前言:

现在大家对“c语言删除数组指定元素”可能比较关怀,小伙伴们都想要了解一些“c语言删除数组指定元素”的相关资讯。那么小编也在网摘上汇集了一些对于“c语言删除数组指定元素””的相关内容,希望姐妹们能喜欢,你们快快来了解一下吧!

Array.prototype.indexOf()

用indexOf找到你想删除的数组元素的索引,然后用splice删除该索引。

const array = [2, 5, 9];console.log(array);const index = array.indexOf(5);if (index > -1) {  array.splice(index, 1);}// array = [2, 9]console.log(array); 

splice的第二个参数是要移除的元素的数量。注意,splice修改了原地的数组,并返回一个包含被移除的元素的新数组。

为了完整起见,这里有一些函数。第一个函数只删除单一的出现(即从[2,5,9,1,5,8,5]中删除5的第一个匹配),而第二个函数则删除所有出现的情况。

function removeItemOnce(arr, value) {  var index = arr.indexOf(value);  if (index > -1) {    arr.splice(index, 1);  }  return arr;}function removeItemAll(arr, value) {  var i = 0;  while (i < arr.length) {    if (arr[i] === value) {      arr.splice(i, 1);    } else {      ++i;    }  }  return arr;}// Usageconsole.log(removeItemOnce([2,5,9,1,5,8,5], 5))console.log(removeItemAll([2,5,9,1,5,8,5], 5))

在TypeScript中,这些函数可以添加类型参数。

function removeItem<T>(arr: Array<T>, value: T): Array<T> {   const index = arr.indexOf(value);  if (index > -1) {    arr.splice(index, 1);  }  return arr;}

Array.prototype.filter()

var value = 3var arr = [1, 2, 3, 4, 5, 3]arr = arr.filter(function(item) {    return item !== value})console.log(arr)// [ 1, 2, 4, 5 ]

标签: #c语言删除数组指定元素