getArrayMatch method
dynamic
getArrayMatch(
- List list,
- dynamic msg
)
Implementation
getArrayMatch(List list, var msg) {
myLogAll('getArrayMatch');
List msgList = msg.toLowerCase().split(" ");
Map temp = {};
for (int i = 0; i < list.length; i++) {
var element = list[i];
if (isNull(temp[element])) {
temp[element] = getStrDistance(element.toLowerCase(), msgList);
}
/*temp.putIfAbsent(
element, () => getStrDistance(element.toLowerCase(), msgList));*/
}
Map mapKeys = getMapSortByValue(temp, true);
List valueList = mapKeys.values.toList();
Map mapNew = {};
temp.forEach((key, value) {
List mapNewValue = [];
if (mapNew.containsKey(value)) {
mapNewValue = mapNew[value];
} else {
mapNew[value] = mapNewValue;
}
mapNewValue.add(key);
});
List result = [];
for (int i = 0; i < valueList.length; i++) {
List mapNewValue = mapNew[valueList[i]];
for (int j = 0; j < mapNewValue.length; j++) {
result.add(mapNewValue[j]);
}
}
return result;
}