我正在根据地图将字母转换为数字,但希望基于多键地图来完成,因为它在更改地图中的值时更容易并且看起来更好,有没有简单的方法来做到这一点
工作代码
void main() {
String words = 'hello world how are you doing today';
String wordsToNumbers = '';
Map lettN = {
'a': '1',
'b': '1',
'c': '1',
'd': '2',
'e': '2',
'f': '2',
'g': '3',
'h': '3',
'i': '3',
'j': '4',
'k': '4',
'l': '4',
'm': '5',
'n': '5',
'o': '5',
'p': '6',
'q': '6',
'r': '6',
's': '7',
't': '7',
'u': '7',
'v': '7',
'w': '8',
'x': '8',
'y': '8',
'z': '8',
' ': ' ',
};
for (int i = 0; i < words.length; i++) {
if (lettN.keys.contains(words[i])) {
wordsToNumbers =
wordsToNumbers +
lettN[words[i]];
} else {}
}
print(wordsToNumbers);
}
想使用这个多键映射而不是 lettN 映射
Map<List, String> multiKeyMap = {
['a', 'b', 'c']: '1',
['d', 'e', 'f']: '2',
['g', 'h', 'i']: '3',
['j', 'k', 'l']: '4',
['m', 'n', 'o']: '5',
['p', 'q', 'r']: '6',
['s', 't', 'u', 'v']: '7',
['w', 'x', 'y', 'z']: '8',
[' ']: ' '
};