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 allNaN
当且仅当数组的下一个元素本身不是数字时。@FedericoklezCulloca。我想知道为什么我对这个问题的回答是-5。。。“这有什么问题吗?”欧内斯托问题是你自己没有做出任何努力来解决这个问题,这在这里是不受欢迎的。因此是向下投票。你应该提前一步停止循环。对不起,我忘记了递归调用