Я думаю, это то, что вы ищете.
let index = {};
let result = [];
const arrayList = [{
"code": 101,
"name": "banana",
"price": 1000
}, {
"code": 4,
"name": "bluebberries",
"price": 3000
}, {
"code": 900,
"name": "apple",
"price": 300
}];
// here is value of code in object list
const userChoose = [900, 900, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101];
userChoose.forEach(item => {
if(result.some(i => i.id === item) === false) {
let obj = arrayList.find(e => e.id === item);
result.push({
id: item,
count: 0
});
}
result.find(r => r.id === item).count++;
});
console.log(result);
Хотя я никогда не использовал его, QT походит на довольно достойную платформу и является открытым исходным кодом также, многоплатформенный и имеет мобильный API также и может быть кодирован с Java или C++.
Смотрите на http://www.wxwidgets.org/ - проверяют некоторые их учебные руководства для получения ощущения его.
См. также
(РЕДАКТИРОВАНИЕ: Я записал этот ответ в октябре 2008, с тех пор я стал преобразованием в QT - это делает высококачественную кросс-платформенную разработку бризом!)
wxWidgets позволяет разработчикам создать приложения для Win32, Mac OS X, GTK +, X11, Мотив, WinCE и больше использования одной кодовой базы. Это может использоваться с языков, таких как C++, Python, Perl и C#/.NET. В отличие от других межплатформенных инструментариев, wxWidgets собственный компонент стиля приложений. Это вызвано тем, что wxWidgets использует собственные собственные средства управления платформы вместо того, чтобы эмулировать их. Это является также обширным, свободным, с открытым исходным кодом, и сформировавшимся.
GTK!
Хотя это потребует, чтобы пользователи Windows установили пакет библиотеки GTK для использования программы (ползунки вниз на том) его полученный красивая структура кода, особенно при соединении с Python.
При реальном использовании Win32 непосредственно Вы могли бы попробовать MFC.
Или если Вы хотите что-то более современное, WTL
Windows Template Library (WTL) является библиотекой C++ для разработки компоненты UI и Приложения Windows. Это расширяет ATL (Активная Библиотека шаблонов) и обеспечивает ряд классов для средств управления, диалоговых окон, рамочных окон, объектов GDI, и т.д.
WinForms и WPF являются альтернативами для программирования.NET. Вы не сможете сделать все в API Win32, но существует существенное подмножество.