Powershell

时间:2019-05-03 08:09:22

标签: arrays string powershell string-concatenation

我在Powershell中有一个字符串数组。对于每个元素,我想将一个常量字符串与该元素连接起来,并更新对应索引处的数组。我要导入的文件是由换行符分隔的非空格字符串元素的列表。

串联数组元素似乎没有发生。

$Constant = "somestring"
[String[]]$Strings = Get-Content ".\strings.txt"

foreach ($Element in $Strings) {
  $Element = "$Element$Constant"
}

$Strings

导致以下输出:

Element
Element
...

在Powershell中出现数组不可变的提示之后,我尝试使用连接的值创建一个新数组。结果相同。

我在这里想念什么?

2 个答案:

答案 0 :(得分:1)

您将值连接到局部变量$Element,但这不会更改变量$Strings

这是我的方法,将新值保存到$ConcateStrings。通过返回串联的字符串而不将其分配给局部变量,变量$ConcateStrings将具有所有新值

$Constant = "somestring"
$Strings = Get-Content ".\strings.txt"

$ConcateStrings = foreach ($Element in $Strings) {
    "$Element$Constant"
}

$ConcateStrings

答案 1 :(得分:1)

只是为了展示另一种迭代数组索引的方法

$('#subMenuCartBox').mouseover(function () {
  $('#cartBox').show();

  $('#subMenuCartBox').mouseleave(function (e) {
    var $this = $(this);
    var bottom = $this.offset().top + $this.outerHeight();
     if(e.pageY < bottom) {
      console.log("CLOSE");
      $('#cartBox').hide();
    }
  });

  $('#cartBox').mouseleave(function () {
    $('#cartBox').hide();
  });
}).mouseleave(function () {
  setTimeout(function () {
    if (!$('#cartBox').length) {
      $('#cartBox').hide();
    }
  });
})

带有“。\ strings.txt”的输出示例包含一个,两个,三个

addEventListener