【问题标题】:How can I ceate new array of elements based on a pattern found in another array?如何根据在另一个数组中找到的模式创建新的元素数组?
【发布时间】:2022-01-14 20:27:30
【问题描述】:

我有一个包含一堆随机元素的数组,例如:

[{
    "id":332,
    "foo":6,
    "event":"ABC-CNEG Correlations Ed3.0 Update 9 (XY-AHZ)",
    "date":"2018-11-26T00:00:00.000Z",
 },
 {
    "id":324,
    "foo":1,
    "event":"ABC 3166-1_2013 No. VII-11",
    "date":"2018-06-30T00:00:00.000Z",
 },
 {
    "id":325,
    "foo":1,
    "event":"ABC 3166-2_2013 To. XII-32",
    "date":"2018-06-30T00:00:00.000Z",

 },
 {
    "id":326,
    "foo":2,
    "event":"ABC 3166-1_2016 No. VII-12",
    "date":"2018-06-30T00:00:00.000Z",
 },
 {
    "id":327,
    "foo":1,
    "event":"ABC 3166-2_2018 To. XII-31",
    "date":"2018-06-30T00:00:00.000Z",

 }]

我需要做的是“挑选”上述项目并创建一个新数组,其中仅包含包含以下字符串的项目:3166-1。所以,预期的输出是:

[
 {
    "id":324,
    "foo":1,
    "event":"ABC 3166-1_2013 No. VII-11",
    "date":"2018-06-30T00:00:00.000Z",
 },
 {
    "id":326,
    "foo":2,
    "event":"ABC 3166-1_2016 No. VII-12",
    "date":"2018-06-30T00:00:00.000Z",
 }
]

我的用例是这样我可以为 HTML 下拉选择输入提供一组过滤的选项。

有人知道如何满足我的用例并在新数组中获得一组过滤的项目吗?

【问题讨论】:

    标签: javascript arrays


    【解决方案1】:

    你可以使用数组的filter函数和字符串的includes方法:

    let arr=[{
        "id":332,
        "foo":6,
        "event":"ABC-CNEG Correlations Ed3.0 Update 9 (XY-AHZ)",
        "date":"2018-11-26T00:00:00.000Z",
     },
     {
        "id":324,
        "foo":1,
        "event":"ABC 3166-1_2013 No. VII-11",
        "date":"2018-06-30T00:00:00.000Z",
     },
     {
        "id":325,
        "foo":1,
        "event":"ABC 3166-2_2013 To. XII-32",
        "date":"2018-06-30T00:00:00.000Z",
    
     },
     {
        "id":326,
        "foo":2,
        "event":"ABC 3166-1_2016 No. VII-12",
        "date":"2018-06-30T00:00:00.000Z",
     },
     {
        "id":327,
        "foo":1,
        "event":"ABC 3166-2_2018 To. XII-31",
        "date":"2018-06-30T00:00:00.000Z",
    
     }]
     
     
     let result=arr.filter(item=>item.event.includes('3166-1'))
     
     console.table(result)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      • 2015-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-25
      相关资源
      最近更新 更多