阻止地图或过滤器迭代最后一个索引

问题描述

var arr = [1,2,3,4]
arr.map((x,i) => arr[i+1] - x)  
// 1,1,NaN

有没有一种方法可以在Array.mapArray.filter方法中使用索引来比较值,而无需比较最终索引以避免NaN的结果?

解决方法

在应用Array#slice之前,您可以使用map删除最后一个元素。

var arr = [1,2,3,4]
console.log(arr.slice(0,-1).map((x,i) => arr[i+1] - x));

,

最简单的方法是

import matplotlib.pyplot as plt
import matplotlib.dates as dates
import matplotlib as mpl
from matplotlib.dates import num2date,date2num

dates_s = dates.date2num(df['Last Update'])
df.plot(kind='line',x='dates_s',y='Confirmed',color='red')
plt.show()

说要过滤x为True的所有值


但是我不认为仅地图就可以做到这一点。我认为地图总是返回相等长度的数组。

不过,您可以使用df['Last Update'] = pd.to_datetime(df['Last Update']) 来实现。

let imgheight = yourAsset.pixelHeight
let imgwidth = yourAsset.pixelWidth

输出

var mapped = arr.map((x,i) => arr[i+1] - x).filter(x => x);
,

是的,可以。只需使用Arra.filter()并仅返回具有原始值的值即可:

var arr = [1,4];
var newArr = arr.map((x,i) => arr[++i] - x)
          .filter(val => val);

console.log(newArr);