【问题标题】:Split values in Javascript array based on multiple parameters基于多个参数在Javascript数组中拆分值
【发布时间】:2015-03-25 14:49:14
【问题描述】:

有什么方法可以根据多个值在 JavaScript 中拆分字符串数组。

var inputArray = ["[dim].[att].&[1]","[dim].[att].&[2]","[dim2].[att2].&[2]","[dim].[att].[All].Children","[dim4].[att5].[All].Children", "[m1].[123]", "[m1].[m4]"];

var splitBasedOn = `[".&",".[All].Unknown",".[All]", "."];`

所以我想根据splitBasedOn 数组中的值拆分inputArray 中的值。

我将首先根据 s​​plitBasedOn 数组中的第一个值进行拆分,然后我将尝试根据 splitBasedOn 中的第二个值进行拆分,依此类推。

如果不使用多个 for 循环,我怎样才能获得预期的结果。

【问题讨论】:

  • 你需要的最小复杂度是多少,O(n) 还是 O(n^2)?
  • 预期结果是什么?
  • 有一点混乱。当我们获得第一个操作的输出之后,您是否要对先前的输出执行操作(即操作链接)?或者您希望所有操作的基本字符串都相同。

标签: javascript jquery underscore.js handlebars.js lodash


【解决方案1】:

您可以使用RegExp构造函数和交替运算符|,不要忘记使用全局标志g

inputArray.forEach(function(str){
   console.log(str.split(new RegExp(splitBasedOn.join("|"), "g"));
});

【讨论】:

  • 但要小心转义特殊字符,如.[
猜你喜欢
  • 2016-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多