地图与Dart的交互
我有一个映射,每个字母都有值,当我传递一个单词时,它会返回每个字母的值之和,例如:地图与Dart的交互,dart,Dart,我有一个映射,每个字母都有值,当我传递一个单词时,它会返回每个字母的值之和,例如: test = 1 + 2 + 3 + 1 = 7 t = '1' e = '2' s = '3' 我认为这是可行的,想法是将每个值转移到一个列表中,然后减少列表,但它可能返回一个错误 var splittedString = string.split(''); for (var i = 0; i < string.length; i++) { sum += values.letterVal
test = 1 + 2 + 3 + 1 = 7
t = '1'
e = '2'
s = '3'
我认为这是可行的,想法是将每个值转移到一个列表中,然后减少列表,但它可能返回一个错误
var splittedString = string.split('');
for (var i = 0; i < string.length; i++) {
sum += values.letterValues[splittedString[i]];
}
我已经创建了一个,它可以工作(我只添加了int.parse
)
void main(){
最终字符串='test';
最终字母值={
‘t’:‘1’,
"e":"2",,
‘s’:‘3’,
};
var splittedString=string.split(“”);
var总和=0;
对于(变量i=0;i
请说明发生了什么,或提供您自己的示例。谢谢!我对此非常着迷:)@Daniel,在静态分析过程中,您的IDE应该说“参数类型‘String’不能分配给参数类型‘num’”。在配置IDE以支持Android Studio的Dart配置后,Dartanalyzer发挥了这一神奇的作用:
return input
.split('')
.map((s) => values.letterValues[s])
.fold(0, (previousValue, element) => previousValue + element);
void main() {
final string = 'test';
final letterValues = {
't': '1',
'e': '2',
's': '3',
};
var splittedString = string.split('');
var sum = 0;
for (var i = 0; i < string.length; i++) {
sum += int.parse(letterValues[splittedString[i]]);
}
print(sum); // result: 7
}