计算数组JavaScript中唯一的单词数
我有一个数组,它在另一个函数中收集一系列单词。我打算数一数并分开那些独特的词,如果重复,就不要数一数。我已经走了这么远,但是代码在第一个位置停留了一段时间。目标是计算数组中的唯一单词计算数组JavaScript中唯一的单词数,javascript,Javascript,我有一个数组,它在另一个函数中收集一系列单词。我打算数一数并分开那些独特的词,如果重复,就不要数一数。我已经走了这么远,但是代码在第一个位置停留了一段时间。目标是计算数组中的唯一单词 let arrayTemp = []; Array1.forEach((item) => { if(arrayTemp[0]){ arrayTemp[0] = item.perfilRoot; } for(let i = 0; i < arrayTemp.leng
let arrayTemp = [];
Array1.forEach((item) => {
if(arrayTemp[0]){
arrayTemp[0] = item.perfilRoot;
}
for(let i = 0; i < arrayTemp.length; i++){
if(item.perfilRoot != arrayTemp[i]){
arrayTemp.push(item.perfilRoot);
}else{
break;
}
}
});
您可以尝试使用允许存储唯一值的对象
const valuesYouWant=Array1.mapitem=>item.perfilRoot;//新数组,包含要从Array1获得的值
const uniqueValues=[…新设置值youwant];//具有来自array valuesYouWant的唯一值的新数组
console.loguniqueValues;//这将记录您的唯一值
console.loguniqueValues.length;//这将记录保存唯一值的新创建数组的长度
转换为设置并检查大小
可以考虑使用SET.
数组=[1,1,2,3,4,4,5]; unique=[…新的Setarray]; console.log unique.length 可以使用以下集合:let arr = [1, 2, 3, 2, 3, 1]
console.log(new Set(arr).size)
或者,您可以使用类似对象的贴图来计算uniques关键点:
let arr = ['dog', 'dog', 'cat', 'squirrel', 'hawk', 'what a good dog'];
let m = {};
// count uniques words in array
arr.forEach(word => m[word] = 1);
// prints uniques counters
console.log('count:', Object.keys(m).length)
因为您只想计算唯一的单词,所以Set将不起作用。下面的代码查看数组,只有在Array1中只找到一次单词时,才会将其添加到arrayTemp 设arrayTemp=[]; Array1.mapa=>a.perfilRoot.forEachitem,索引=>{ 如果索引+1
let arr = ['dog', 'dog', 'cat', 'squirrel', 'hawk', 'what a good dog'];
let m = {};
// count uniques words in array
arr.forEach(word => m[word] = 1);
// prints uniques counters
console.log('count:', Object.keys(m).length)