Encoding Powershell中针对Google图表的扩展编码功能
我有一个简单的编码功能,可以在Powershell中正常工作。但是,我需要一个扩展编码函数,因为我将绘制超过62个点。google提供的用于扩展编码的Javascript函数是 简单编码函数示例:Encoding Powershell中针对Google图表的扩展编码功能,encoding,powershell,google-visualization,Encoding,Powershell,Google Visualization,我有一个简单的编码功能,可以在Powershell中正常工作。但是,我需要一个扩展编码函数,因为我将绘制超过62个点。google提供的用于扩展编码的Javascript函数是 简单编码函数示例: function simpleEncoding ($valueArray) { $simpleEncoding = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789' $total = 0 foreach ($value
function simpleEncoding ($valueArray) {
$simpleEncoding = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
$total = 0
foreach ($value in $valueArray) {
$total = $total + $value
}
for ($i = 0;$i -lt $valueArray.length;$i++) {
$relativeValue = ($valueArray[$i] / $total)*62
$relativeValue = [math]::round($relativeValue)
$encodingValue = $simpleEncoding[$relativeValue]
$Data = $Data + "" + $encodingValue
}
return $data
}
因此,我正在寻求帮助,将Javascript扩展编码功能调整到Powershell中。我想我有一个工作版本:
Function Get-ExtendedEncoding {
Param (
$dataArray,
$maxValue
)
$ExtendedMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-.'
$MapLength = $ExtendedMap.length
for ($i = 0;$i -lt $dataArray.length;$i++)
{
$numvalue = [int]$dataArray[$i]
$scaledValue = $MapLength * $MapLength * $numvalue / $maxValue
If($scaledValue -gt ($MapLength * $MapLength) -1)
{
$chartData += ".."
}
Elseif ($scaledValue -lt 0)
{
$chartData += '__'
}
Else
{
$quotient = [Math]::Floor($scaledValue / $MapLength)
$remainder = $scaledValue - $MapLength * $quotient
$chartdata += $ExtendedMap[$quotient] + $ExtendedMap[$remainder]
}
}
return $chartdata
}
问题是什么?您不能像在simpleencoding中那样在powershell中调整extendedencoding函数吗?是的,这是正确的-我刚刚澄清了这个问题。如果其他人需要,简单编码可以作为参考。我很确定,您可以使用
foreach($dataArray中的数据){$numvalue=[int]$data..}