【问题标题】:Combining elements from 2 arrays in a specific order按特定顺序组合来自 2 个数组的元素
【发布时间】:2016-12-10 17:12:37
【问题描述】:

我有 2 个数组

selectedERO[] = {"Device A, Device B, Device C"}

selectedLinks[] = { "Port A1 - Port B1, PortB2 - PortC1" )

我想要的是这个——本质上是一个从设备 A 到设备 C 的路径,数组中看起来像这样

PotentialPath[] = {"DeviceA, Port A1, Port B1, DeviceB, PortB2 ,PortC1, DeviceC"}

任何意见将不胜感激

【问题讨论】:

  • 请添加提到的数组和想要的(有效)结果。
  • 想要的有效结果 - 数组 [srs-rt3, srs-rt3:ge-0/1/0,atla-cr5:10/1/3,atla-cr5, atla-cr5:3/ 1/1, ornl-cr5:6/1/1, ornl-cr5 ]
  • 背后的规则是什么?
  • 所以第一部分中的数组是两个数组 SelectedLinks[] 和 SelectedERO[] 的 consol.log 输出我从这些数组中得到输出,但我希望它们的格式像这样 Array [srs-rt3, srs-rt3:ge-0/1/0,atla-cr5:10/1/3,atla-cr5,atla-cr5:3/1/1, ornl-cr5:6/1/1, ornl-cr5]
  • 规则是什么?

标签: javascript jquery arrays


【解决方案1】:

您可以通过在 ERO 之间插入链接来拆分受监管的字符串并重新组合结果。

var selectedERO = "Device A, Device B, Device C",
    selectedLinks = "Port A1 - Port B1, PortB2 - PortC1",
    links = selectedLinks.split(', '),
    result = selectedERO.split(', ').reduce(function (a, b, i) {
        return [a].concat(links[i - 1].split(' - '), b).join(', ');
    });

console.log(result);

【讨论】:

  • 非常感谢您的解决方案。但是,我不想要 selectedLinks 中给出的“-”,只是端口 A1,端口 B1。有没有办法解决它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-03-01
  • 2021-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-07
  • 2020-09-21
相关资源
最近更新 更多