Javascript React Native:比较数组中的值

Javascript React Native:比较数组中的值,javascript,arrays,react-native,Javascript,Arrays,React Native,我有一个关于如何比较数组中的值的问题 特别是,我从外部设备读取数据,并使用以下方法将这些数据放入阵列中: this.timeArray.push(this.externalDevice) 现在我的问题是我有一个数组,如: (372) this.timeArray: [Array(1), Array(1), Array(1), Array(1), Array(1), Array(1), Array(1), Array(1), Array(1), Array(1), Array(1), Array

我有一个关于如何比较数组中的值的问题

特别是,我从外部设备读取数据,并使用以下方法将这些数据放入阵列中:

this.timeArray.push(this.externalDevice)
现在我的问题是我有一个数组,如:

(372) this.timeArray: [Array(1), Array(1), Array(1), Array(1), Array(1), Array(1), Array(1), Array(1), Array(1), Array(1), Array(1), Array(1), Array(1), Array(1), Array(1), Array(1), Array(1), Array(1), Array(1), Array(1), Array(1), Array(1), Array(1), Array(1), Array(1), Array(1), Array(1), Array(1), Array(1), Array(1),.....]

编辑: 如果我展开阵列,它们如下所示:

[0 … 99]
0: [20]
1: [40]
2: [60]
3: [80]
4: [100]
5: [120]
6: [140]
7: [160]
8: [180]

其中每个值都是一个数字,比如20,40,60。。。。或-20,-40,-60

现在我必须检查每个值是否与下一个值相差20

例如,如果第二个值和第一个值的差值是20,那么它是正确的


我曾尝试使用
foreach
,但我不知道如何比较值,因为我必须比较第一个值和第二个值,第二个值和第三个值等等。。我该怎么做呢?

我会使用一个普通的for循环进行迭代-类似这样:

[0 … 99]
0: [20]
1: [40]
2: [60]
3: [80]
4: [100]
5: [120]
6: [140]
7: [160]
8: [180]
const validateArray=(myArray)=>{
for(设i=1;i{
让错误=[]
对于(设i=1;i我将通过1)展平数组,然后2)比较
中的值。every()
以获得布尔值,判断您的条件是否匹配:

const checkSteps=(arrToCheck=[],step=0)=>arrToCheck.every((val,i,ref)=>(i==0 | | val-step==ref[i-1]);
常数=[[20]、[40]、[60];
const flattedaray=origArray.flat();
const hasDifferenceOfTwenty=检查步数(扁平阵列,20);
const HasDifferenceOffeen=检查步数(扁平阵列,15);
log('hasDifferenceOfTwenty',hasDifferenceOfTwenty);

log('hasdifferenceofteen',hasdifferenceofteen);
那么这是一个数组数组吗?像[[20]、[40]、[60]、[80]?还是像[20,40,60,80]这样的直数组@MarcElrick我已经编辑了这个问题我已经尝试过直接使用for的方法,但是它只比较第一个和第二个值是的,如果发现数组无效,它将返回,因此如果两个值之间的差值不是20,则不会比较其他值。这是一个可运行的示例mmh,因此如果它发现错误,它将停止。如果我想让他检查所有的值​​并报告任何错误?不要返回,而是将值添加到新数组并在末尾返回该数组