22 lines
472 B
TypeScript
22 lines
472 B
TypeScript
|
|
import _flatten from 'lodash/flatten';
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 类似于join,但是返回一个数组
|
|||
|
|
* join会将元素强制转化为字符串
|
|||
|
|
*
|
|||
|
|
* 改函数可以用于join ReactNode
|
|||
|
|
*
|
|||
|
|
* @example joinArray([1, 2, 3], '5') => [1, '5', 2, '5', 3]
|
|||
|
|
*/
|
|||
|
|
export function joinArray<T, K>(arr: T[], separator: K): (T | K)[] {
|
|||
|
|
return _flatten(
|
|||
|
|
arr.map((item, i) => {
|
|||
|
|
if (i === 0) {
|
|||
|
|
return [item];
|
|||
|
|
} else {
|
|||
|
|
return [separator, item];
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
);
|
|||
|
|
}
|