Вы можете взять карту, собрать максимальное количество осадков в месте и получить новый массив объектов с результатом.
const
weatherArray = [{ Date: "5-1-19", Location: "New York", Rainfall: 4 }, { Date: "5-1-19", Location: "Miami", Rainfall: 8 }, { Date: "5-1-20", Location: "New York", Rainfall: 9 }, { Date: "5-1-20", Location: "Miami", Rainfall: 2 }, { Date: "5-1-21", Location: "New York", Rainfall: 10 }, { Date: "5-1-21", Location: "Chicago", Rainfall: 9 }],
filterData = (inputArray) => {
return Array.from(
inputArray.reduce((m, { Location, Rainfall }) =>
m.set(Location, Math.max(m.get(Location) || 0, Rainfall)), new Map),
([Location, Rainfall]) => ({ Location, Rainfall })
);
};
console.log(filterData(weatherArray));
.as-console-wrapper { max-height: 100% !important; top: 0; }
С датой.
const
weatherArray = [{ Date: "5-1-19", Location: "New York", Rainfall: 4 }, { Date: "5-1-19", Location: "Miami", Rainfall: 8 }, { Date: "5-1-20", Location: "New York", Rainfall: 9 }, { Date: "5-1-20", Location: "Miami", Rainfall: 2 }, { Date: "5-1-21", Location: "New York", Rainfall: 10 }, { Date: "5-1-21", Location: "Chicago", Rainfall: 9 }],
filterData = (inputArray) => {
return Array.from(inputArray
.reduce((m, o) => {
var temp = m.get(o.Location)
return temp && temp.Rainfall > o.Rainfall
? m
: m.set(o.Location, o);
}, new Map)
.values()
);
};
console.log(filterData(weatherArray));
.as-console-wrapper { max-height: 100% !important; top: 0; }
Вы могли попробовать что-то вдоль этих строк:
//note we are using the convenience method, so we don't need to autorelease the object
NSDictionary *attributes = [NSDictionary dictionaryWithObjectsAndKeys:[NSFont fontWithName:@"Helvetica" size:26], NSFontAttributeName,[NSColor blackColor], NSForegroundColorAttributeName, nil];
NSAttributedString * currentText=[[NSAttributedString alloc] initWithString:@"Cat" attributes: attributes];
NSSize attrSize = [currentText size];
[currentText drawAtPoint:NSMakePoint(yourX, yourY)];
NSText является представлением (а именно, суперкласс NSTextView).
Существует несколько способов нарисовать текст, с и без атрибутов (шрифты, цвета, стили абзаца, и т.д.). Посмотрите дополнения AppKit к NSString и к NSAttributedString.