问题:我有一个对象数组,其中对象具有x值。每个对象还需要一个y值,以便在Scatterplot上绘制。 y值需要是最小高度(.3)和最大高度(.6)之间的数字,并且基于相等x值的数量均匀间隔。
例如,如果我有一个对象数组,其中[(x = 3)(x = 4)(x = 3)(x = 4)(x = 5)(x = 3)],在迭代之后数组我应该有一个新的对象数组,如下所示:[(x = 3,y = .3)(x = 3,y = .45)(x = 4,y = .6)(x = 4 ,y = .3)(x = 4,y = .6)(x = 5,y = .45)]。
问题:明智地完成这种表现的最佳方法是什么?有没有任何包可以帮助我遍历数组。
目前我已经创建了一个嵌套的forEach循环,但是这个代码很长,对我来说很脏。任何建议都会很棒:)
这是一个有角度的4项目(打字稿)。
答案 0 :(得分:1)
您肯定需要<ControlTemplate TargetType="{x:Type ContentControl}" x:Name="cont">
<Grid Width="{TemplateBinding Width}" Height="{TemplateBinding Height}">
<Grid.RowDefinitions>
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
</Grid.RowDefinitions>
<Border Canvas.ZIndex="1" CornerRadius="4" BorderThickness="1" BorderBrush="Black" Background="{StaticResource btn3d}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="32" />
<ColumnDefinition Width="1" />
<ColumnDefinition Width="2*" />
</Grid.ColumnDefinitions>
<ToggleButton Name="toggleButton" Padding="30, 10">
<ToggleButton.Template>
<ControlTemplate TargetType="ToggleButton">
<ControlTemplate.Triggers>
<EventTrigger RoutedEvent="ToggleButton.Checked">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Tag" From="0" To="60" Duration="0:0:0.5" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</ToggleButton.Template>
</ToggleButton>
<StackPanel Grid.Column="2" />
</Grid>
</Border>
<ListBox Name="lstBx" Height="{Binding ElementName="toggleButton" Grid.Row="1" ItemsSource="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=ItemsSource}" />
</Grid>
</ControlTemplate>
功能:
检查https://developer.mozilla.org/it/docs/Web/JavaScript/Reference/Global_Objects/Array/map
处的记录使用map
,您可以通过以下方式将数组转换为新数组:
map
&#13;