【问题标题】:Convert array of objects into an array but in a different format.将对象数组转换为数组,但格式不同。
【发布时间】:2017-04-05 21:33:39
【问题描述】:

我有一个对象数组,如下所示。我做了一个 console.log(values);并得到以下结果

["15- S&P", "us- ex US", "al- ex CL"]

0:"15- S&P"
1:"us- ex US"
2:"al- ex CL"
length:3
__proto__:Array(0)

我想要一个数组中的输出,其值如下。

[S&P, ex US, ex CL]

'-' 之前的所有值都被删除,'-' 之后的值被取出并放入一个数组中。例如“15-标准普尔”更改为“标准普尔”。谁能让我知道如何实现这一目标。

【问题讨论】:

  • ["15- S&P", "us- ex US", "al- ex CL"].map(s => s.match(/- (.*)/).pop())
  • 请阅读How to Ask。关键词:“搜索和研究”和“解释......任何阻碍你自己解决的困难”。

标签: javascript angularjs arrays object underscore.js


【解决方案1】:

您可以使用Array#mapString#split 仅返回每个元素的- 符号之后的文本。

var arr = ["15- S&P", "us- ex US", "al- ex CL"],
    res = arr.map(v => v.split("- ")[1]);
    
    console.log(res);

【讨论】:

    【解决方案2】:

    你也可以试试这个;

    var arr = ["15- S&P", "us- ex US", "al- ex CL"],
        res = arr.map(s => s.replace(/\w+-\s*([\w&\s]+)/,"$1"));
    console.log(res);

    【讨论】:

      猜你喜欢
      • 2019-07-28
      • 1970-01-01
      • 2021-12-28
      • 2016-04-19
      • 1970-01-01
      • 1970-01-01
      • 2021-09-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多