Array of Objects Map

JS
S
JavaScript

Calling map over an array of objects

1const sizedData = this.cloudsWordSizer(data);
2this.results = sizedData;
3
4cloudsWordSizer(data: Word[]): Word[] {
5  const minSize = 0.5;
6  const maxSize = 1.5;
7  const maxTag = Math.max.apply(Math, data.map((tag) => tag.count));
8  const minTag = Math.min.apply(Math, data.map((tag) => tag.count));
9  // Linearize
10  return (data.map<any>((tag: Word) => {
11    const tagCopy = { ...{}, ...tag };
12    // basic conditions
13    if (tag.count === maxTag) {
14      tagCopy.size = maxSize;
15    } else if (tag.count === minTag) {
16      tagCopy.size = minSize;
17    } else {
18      tagCopy.size = (tag.count * minSize) / minTag;
19    }
20    return tagCopy;
21  }));
22}

Created on 7/13/2018