arrays - 有条件地修改数组元素而不诉诸临时数组
问题描述
给定一个这样的数组
$array = @('A', 'B', 'C', 'D', 'E')
我可以像这样在数组中每个项目的末尾附加一些东西
$array = $array | Foreach-Object {"$_ *"}
如果我想为每个成员附加一些不同的东西,我可以这样做
$tempArray = @()
$count = 1
foreach ($item in $array) {
$tempArray += "$item $count"
$count ++
}
$array = $tempArray
但是使用临时数组似乎......笨拙。我觉得我错过了一些允许有条件地更改原始数组的值的东西。不添加新项目,只是更改现有项目的价值。
解决方案
你有两个选择
1:将 foreach 的结果设置为您正在迭代的变量。这将迭代数组并将结果设置为相同的变量。
$count = 1
$array = foreach ($item in $array) {
"$item $count"
$count ++
}
2:像这样设置一个数组元素(注意数组元素以0而不是1开头)
$array[2] = 'foo'
或像这样循环。这将在迭代时设置每个变量。
$append = 'a'
for($i=0;$i -lt $array.count;$i++){
$array[$i] = $array[$i],$append -join ' '
$append += 'a'
}
推荐阅读
- html - bootstrap 是否支持 col in row 没有容器
- java - 每个 Spring Boot 实例的日志文件
- flutter - 通知到达时如何调用函数?扑通扑通
- machine-learning - 对 sklearn 混淆矩阵标签轴进行排序?
- php - 按锚标记时下载longblob数据类型图像文件
- r - 使用闪亮仪表板的框功能时展开符号被截断
- react-native - 在 M1 上缺少 Safari 中的 React Native iOS 调试
- node.js - Mongoose Typescript 2 Schema 有一个使用其他模式的字段
- c - 我得到:“预期的';',','或')'之前'&'令牌“在C
- python - 您是否导入了定义它的 _pb2 模块?