@antv/util
Version:
<h1 align="center">@antv/util</h1>
30 lines (25 loc) • 595 B
text/typescript
import isArray from './is-array';
import isNil from './is-nil';
export default (data: any[], name: string): any[] => {
const rst = [];
const tmpMap = {};
for (let i = 0; i < data.length; i++) {
const obj = data[i];
let value = obj[name] as string[];
if (!isNil(value)) {
// flatten
if (!isArray(value)) {
value = [value];
}
for (let j = 0; j < value.length; j++) {
const val = value[j];
// unique
if (!tmpMap[val]) {
rst.push(val);
tmpMap[val] = true;
}
}
}
}
return rst;
};