javascript - 试图对字符串数组求和
问题描述
有一个引号(quotes)数组,需要找到一个特定人的引号(name)的平均长度。
我可以找到值,但不知道如何获得返回值的总和
let averageQuoteLength = (name) => {
i = crewMembers.indexOf(name)
a=(-1);
while (a <= quotes[i].length) {
a++
console.log(quotes[i][a].length)
}
}
解决方案
假设您或多或少有一个二维数组,例如:
var quotes = [
['quote1', 'quote2', 'quote3'],
['quote1', 'quote2', 'quote3'],
['quote1', 'quote2', 'quote3']
]
和一些在相应索引处具有所有名称的 crampMembers 数组
试试这个:
let averageQuoteLength = (name) => {
let i = crewMembers.indexOf(name);
return (quotes[i].reduce((acc, val) => acc += val.length, 0) / quotes[i].length);
};
数组reduce方法在quotes[i]处将数组中所有引号的所有长度相加,然后我除以数组的长度以获得平均引号长度。Reduce 是一个值得学习的有用工具。
推荐阅读
- typescript - 如何在 Angular 6 中模拟 e2e 测试
- android - 如何在您的应用关闭且没有 Firebase 时推送通知?
- bash - linux bash脚本:使用嵌套的For Do循环处理文件夹内容迭代的文件
- linux - 查看手册页时,如何查看加载它的目录?(例如,用于本地份额与系统份额的确定)?
- macos - NSTableView 与核心动画层
- javascript - Ajax 在某些计算机上无法间歇性工作
- c - 在 C 中解析和编辑 ASN1 二进制 blob
- r - 在 geom_histogram(position = "fill") 上覆盖 geom_density()
- biztalk - BizTalk 2010 服务器返回错误
- javascript - 通过 WebSocket JS 为 Watson Speech to Text 发送录制的音频