查找数组中的所有相似值并将它们组合成一个新数组

时间:2018-02-13 14:35:09

标签: arrays angular typescript

问题:我有一个对象数组,其中对象具有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项目(打字稿)。

1 个答案:

答案 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,您可以通过以下方式将数组转换为新数组:

&#13;
&#13;
map
&#13;
&#13;
&#13;