Javascript 拆分对象数组,以使用数据点

Javascript 拆分对象数组,以使用数据点,javascript,arrays,reactjs,lodash,canvasjs,Javascript,Arrays,Reactjs,Lodash,Canvasjs,我在一个组件中具有以下功能: import React,{Component}来自'React'; 从“../../assets/canvasjs.react”导入CanvasJSReact; 从“lodash”进口; 类MyChart扩展组件{ 构造函数(){ 超级(); this.generateDataPoints=this.generateDataPoints.bind(this); } 生成的数据点(noOfDps){ var xVal=1,yVal=100; var dps=[];

我在一个组件中具有以下功能:

import React,{Component}来自'React';
从“../../assets/canvasjs.react”导入CanvasJSReact;
从“lodash”进口;
类MyChart扩展组件{
构造函数(){
超级();
this.generateDataPoints=this.generateDataPoints.bind(this);
}
生成的数据点(noOfDps){
var xVal=1,yVal=100;
var dps=[];
对于(变量i=0;i

我的数据集是时间(x)上的绘图,我想计算y的最小值和最大值,并在这些点上生成第三个属性,如下所示:

{x:40,y:65},
{x:50,y:85,索引标签:“最高”},
{x:60,y:68},

我一直试图将数组与dps分为两部分,以找到最小值和最大值,但始终无法工作。我正在使用lodash库进行尝试。

您可以使用一个辅助函数来确定哪个数据点的值最高(如果我理解正确,是
y
更大的数据点),然后将该属性
indexLabel=“highest”
设置到该对象中

正如您在下面的示例代码中所看到的,最低层使用相同的逻辑

let dataPoints=[{x:40,y:65},{x:50,y:85},{x:60,y:68}]
功能设置最高最低(dtPoints){
设highestIndex=-1;
设minimumIndex=-1;
设最高值=0;
设最低值=0;
for(设i=0;i最高值){
高指数=i;
最高值=对象y;
}
如果(对象y<最低值| | i==0){
最小指数=i;
最低值=对象y;
}
}
如果(最高指数>-1){
dtPoints[highestIndex].indexLabel=“最高”
}
如果(最小索引>-1){
dtPoints[minimumIndex].indexLabel=“最低”
}
}
设置最高最低(数据点)

console.log(dataPoints)
您可以使用一个辅助函数来确定哪个dataPoint的值最高(如果我理解正确,是
y
较大的一个),然后将该属性
indexLabel=“highest”
设置到该对象中

正如您在下面的示例代码中所看到的,最低层使用相同的逻辑

let dataPoints=[{x:40,y:65},{x:50,y:85},{x:60,y:68}]
功能设置最高最低(dtPoints){
设highestIndex=-1;
设minimumIndex=-1;
设最高值=0;
设最低值=0;
for(设i=0;i最高值){
高指数=i;
最高值=对象y;
}
如果(对象y<最低值| | i==0){
最小指数=i;
最低值=对象y;
}
}
如果(最高指数>-1){
dtPoints[highestIndex].indexLabel=“最高”
}
如果(最小索引>-1){
dtPoints[minimumIndex].indexLabel=“最低”
}
}
设置最高最低(数据点)

console.log(数据点)
请分享您的
数据点的样子。数据点只是一个随机数据集。我正在与CanvasJS合作,我需要创建一些绘图功能和过滤器。不过,大致了解您的数据会有所帮助。您的意思是什么?你要打印吗?这是一个简单的绘图,x轴和y轴(就像这个例子),我的意思是,数据的形状。您在
数据点
中获得的有效负载示例,而不是它的视觉呈现方式。请共享您的
数据点
的外观。数据点只是一个随机数据集。我正在与CanvasJS合作,我需要创建一些绘图功能和过滤器。不过,大致了解您的数据会有所帮助。您的意思是什么?你要打印吗?这是一个简单的绘图,x轴和y轴(就像这个例子),我的意思是,数据的形状。您在
数据点
中获得的有效负载示例,而不是它的视觉呈现方式。