Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查数组的上一个和当前元素_Javascript_Arrays_Ecmascript 6 - Fatal编程技术网

Javascript 检查数组的上一个和当前元素

Javascript 检查数组的上一个和当前元素,javascript,arrays,ecmascript-6,Javascript,Arrays,Ecmascript 6,想象一下:我有一个数组:[“1”、“2”、“X”、“4”、“3”、“Z”、“-”和“12”] 我想我应该用哪一个函数: 查找数组中的第一个NaN元素(假设索引为2),并检查下一个(索引为3)是否也是NaN,如果是(从索引为2的数组元素中删除) 因此,转换数组的结果应该是:[“1”、“2”、“4”、“3”、“-”和“12”] 我不想要你的代码,只是建议/帮助如何启动它 感谢您的回复和帮助。您可以递归执行: var arr=[“1”、“2”、“X”、“4”、“3”、“Z”、“-”和“12”];

想象一下:我有一个数组:
[“1”、“2”、“X”、“4”、“3”、“Z”、“-”和“12”]

<>我想我应该用哪一个函数:

  • 查找数组中的第一个NaN元素(假设索引为2),并检查下一个(索引为3)是否也是NaN,如果是(从索引为2的数组元素中删除)
因此,转换数组的结果应该是:
[“1”、“2”、“4”、“3”、“-”和“12”]

我不想要你的代码,只是建议/帮助如何启动它


感谢您的回复和帮助。

您可以递归执行:

var arr=[“1”、“2”、“X”、“4”、“3”、“Z”、“-”和“12”];
var i=0;
函数removeFirstNan(arr){
对于(变量i=0;i控制台日志(arr)
您可以使用for循环在数组上迭代,并跟踪
当前
上一个
元素

然后,您可以使用检查这两个值是否为
NaN

如果两者都是
NaN
,则可以使用删除索引
i-1
(相当于
previous
):

arr=[“1”、“2”、“X”、“4”、“3”、“Z”、“-”和“12”];
var-previous=null;
对于(变量i=0;i
您可以使用它来查找当前和下一个项目是否为
NaN

const data=[“1”、“2”、“X”、“4”、“3”、“Z”、“-”、“12”、“END”];
const result=data.filter((c,i,arr)=>i+1==arr.length | |!(isNaN(c)和&isNaN(arr[i+1]));

控制台日志(结果)您可以在数组中检查以下两个NaN值

var数组=[“1”、“2”、“X”、“4”、“3”、“Z”、“-”和“12”],
结果=数组.filter((v,i,a)=>!isNaN(v)| |!isNaN(a[i+1]);

控制台日志(结果)
添加到目前为止你还不太明白你想要什么的代码,你是想说过滤掉所有
NaN
元素吗?@Dean filter all
NaN
当且仅当数组的下一个元素本身不是数字时。@FedericoklezCulloca。我想知道为什么我对这个问题的回答是-5。。。“这有什么问题吗?”欧内斯托问题是你自己没有做出任何努力来解决这个问题,这在这里是不受欢迎的。因此是向下投票。你应该提前一步停止循环。对不起,我忘记了递归调用