【问题标题】:How to remove a string from each element from an Array? [duplicate]如何从数组中的每个元素中删除一个字符串? [复制]
【发布时间】:2018-10-30 21:25:24
【问题描述】:

我有一个数组:

arr1 = ["gbt100", "gbt1130", "gbt12300", "gbt104230"]

如何从每个元素中删除“gbt”字符串?

【问题讨论】:

  • 请阅读有关Array 方法的文档。你试过什么?
  • arr1.join(',').replace(/gbt/g, '').split(',')
  • 我已经阅读了 foreach 和 filter 方法。我只是不知道如何应用它。
  • @PAyTEK 您想创建一个新数组,该数组具有与旧数组相同的元素,但以某种方式进行了转换。这意味着您需要map,而不是filter,而不是forEach
  • 好的,谢谢@Xufox!

标签: javascript arrays function


【解决方案1】:

您可以使用map 方法,将回调 函数作为参数传递给给定数组中的每个项目。

另外,您需要使用replace 方法来删​​除gbt 字符串。

arr1 = ["gbt100", "gbt1130", "gbt12300", "gbt104230"]
arr1 = arr1.map(elem => elem.replace("gbt", ""));
console.log(arr1);

另一种方法是将正则表达式作为replace 方法的第一个参数传递。

arr1 = ["gbt100", "gbt1130", "gbt12300", "gbt104230"]
arr1 = arr1.map(elem => elem.replace(/gbt/g, ""));
console.log(arr1);

如果您想删除所有 字母 字符,只需更改 replace 方法中的正则表达式即可。

arr1 = arr1.map(elem => elem.replace(/[a-zA-Z]/g, ""));

【讨论】:

  • @Xufox,如果数组像 gbt567、abg455、ytu456 怎么办?
  • @akhilaravind 您的意思是删除所有字母字符,然后使用 [a-zA-Z] 而不是 gbt 替换所有字母
  • @akhilaravind 不要编造 OP 没有要求的场景,否则你最终会回答没人问的问题。如果 OP 声明要删除的值可能不同并给出确切的规格,那么我们可以围绕它定制解决方案。否则您的方案超出范围。
  • @Nagaraju 我在下面回答了
  • @xufox 是的,我正在纠正那个
【解决方案2】:

您可以尝试Array.Map 并为每个项目使用substring

const arr1 = ["gbt100", "gbt1130", "gbt12300", "gbt104230"]

const newArr = arr1.map(x=>x.substring(3, x.length))

console.log(newArr)

【讨论】:

    猜你喜欢
    • 2020-05-29
    • 1970-01-01
    • 1970-01-01
    • 2021-10-15
    • 2023-03-04
    • 2011-07-14
    • 2020-05-18
    • 2020-08-24
    • 1970-01-01
    相关资源
    最近更新 更多