查找数组中字符串的平均字符串长度 - Javascript

时间:2017-08-11 18:57:28

标签: javascript arrays average string-length

我有六个引号的数组,我试图找到每个引号的平均长度。我想我需要创建一个新的字符串长度数组,然后是平均值。但我无法弄清楚如何将原始数组的计数放入新数组中。如何将第一个数组的计数输入新数组?

7 个答案:

答案 0 :(得分:3)

arr = [1, 12, 123, 1234]                    // works with numbers too
avg = arr.join('').length / arr.length      // 10 / 4 = 2.5
console.log(avg)

答案 1 :(得分:2)

你可以reduce你的字符串数组。例如:

['a', 'bb', 'ccc', 'dddd']
  .reduce((a, b, i, arr) => a + b.length / arr.length, 0)

答案 2 :(得分:0)

您可以使用Array.prototype.reduce来总结所有引号的总长度,并将它除以引号数组的长度/大小:

const quotes = [
    "Quote #1",
    "Longer quote",
    "Something...",
    ...
];

// Sum up all the quotes lengths
const totalQuotesLength = quotes.reduce(function (sum, quote) {
    return sum + quote.length;
}, 0);

// Calculate avg length of the quotes
const avgQuoteLength = (
    totalQuotesLength / quotes.length
);

答案 3 :(得分:0)

如果我理解正确,你想找到一个数组中字符串的平均长度,你可以这样做:

var total = 0;
for(var i = 0; i < array.length; i++){
    total+=array[i].length;
}
var average = total/array.length;

答案 4 :(得分:0)

你也可以简单地使用.reduce,例如:

const numbers = [1,2,3,4,5,6];
const total = numbers.reduce((acc, value) => acc + value, 0);
const average = total / numbers.length;

我会帮忙的!

答案 5 :(得分:0)

您可以在每个元素上使用forEach而无需创建新数组。可能很长但可读:

https://jsfiddle.net/p19qbodw/ - 在打开的控制台中运行此命令以查看结果

var quotes = ["quotequote", "quote", "qu"]
charsSum = 0,
avarage;

quotes.forEach( (el) => {
charsSum += el.length;
});

 avarage = charsSum/quotes.length;

答案 6 :(得分:0)

将所有数组值连接到单个String,然后您可以计算平均长度。

var yourArray = ["test", "tes", "test"],
    arrayLength = yourArray.length,
    joined = yourArray.join(''),
    result = joined.length / arrayLength;

console.log(result);