/** * @obj * @desc 操作数组的相关方法。所有函数不会改变实参,会返回操作后的结果。 * @method compareLength - 比较两个数组的长度 * @method shallowCompare - 浅比较 * @method deepCompare - 深比较 * @method deleteValue - 从数组里删除第一个相应值,返回新数组 * @method deleteValueAll - 从数组里删除所有相应值,返回新数组 * @method deleteSomeExcept - 从数组里删除所有不匹配元素,返回新数组 * @method map - 封装原生map */ interface ArrayModule { compareLength: (firstArray: any[], secondArray: any[]) => number; shallowCompare: (firstArray: T[], secondArray: T[]) => boolean; deepCompare: (firstArray: T[], secondArray: T[]) => boolean; deleteItem: (array: T[], value: T) => T[]; deleteItems: (array: T[], value: T) => T[]; deleteItemsExcept: (array: T[], exceptArray: T[]) => T[]; map: (fn: any) => (array: T[]) => T[]; }