我有两个数组:
alphabet
由字母组成(例如英文字母)。dictionary
是具有单词和定义的对象列表,'word'
是单词值的键。
我想构建一个名为的新数组frequency
,它包含以字母数组中每个字母开头的单词数,索引对应于字母数组。
我设法想出了以下几点:
alphabet.forEach(function(letter) {
frequency = dictionary.filter(item => item['word'].toLowerCase().startsWith(letter)).length;
});
这让我获得了frequency
. Javascript 中用于构建这些值的数组的最佳语法是什么?是另一个过滤器吗?或者代码应该forEach
手动使用当前的增量索引?
首先,让我们获取一些示例数据。我们将忽略与问题无关的任何内容。
const alphabet = 'abcdefghijklmnopqrstuvwxyz'.split('')
var dictionary = [{'word': 'alpha'}, {'word': 'beta'}, {'word': 'balloon'}]
然后我们将创建一个results
变量,它将按字母顺序保存所有结果的数组。
var results = []
现在我们以与之前相同的方式循环,但我们将push
每个结果都添加到我们的列表中。
alphabet.forEach(function(letter) {
frequency = dictionary.filter(item => item['word'].toLowerCase().startsWith(letter)).length;
results.push(frequency);
});
作为允许我们更轻松地查看结果的替代解决方案,我们将结果设为对象,并使用字母作为键。
var results = {};
alphabet.forEach(function(letter) {
frequency = dictionary.filter(item => item['word'].toLowerCase().startsWith(letter)).length;
results[letter] = frequency;
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句