Javascript 求数组的第二个参数的和

Javascript 求数组的第二个参数的和,javascript,ecmascript-6,Javascript,Ecmascript 6,我有一个对象,我需要将它添加到单词出现的次数。例: { step1: ["luiz"] step2: ["pedro"] step3: ["luiz"] step4: ["luiz"] step5: ["luiz"] } 我尝试使用.map、.forEach、.filter,但它们都没有定义 .filter let irmas = answers.filter((answer) => answer[1] === 'luiz) .map let contagemRespostas = a

我有一个对象,我需要将它添加到单词出现的次数。例:

{
step1: ["luiz"]
step2: ["pedro"]
step3: ["luiz"]
step4: ["luiz"]
step5: ["luiz"]
}
我尝试使用.map、.forEach、.filter,但它们都没有定义

.filter

let irmas = answers.filter((answer) => answer[1] === 'luiz)
.map

let contagemRespostas = answers.map(function(answer, index) {
      return contagemRespostas.index
    })
如何仅获取名称并添加值

编辑:

回报类似于:


{'luiz':3,'pedro':2}
或最高值
{'luiz':3}

尝试以下操作:


这里的想法是处理原始对象中的每个关键点。然后从每个关键字中创建一个对象,该对象获取每个关键字的每个单词的出现次数。然后将它们组合成一个对象

您可以使用reduce创建一个具有这些值的对象

const数据={
第1步:[“路易斯”],
第二步:[“佩德罗”],
第三步:[“路易斯”],
第四步:[“路易斯”],
第五步:[“路易斯”],
}
const result=Object.values(data).flat().reduce((acc,cur)=>{
acc.hasOwnProperty(cur)?acc[cur]+:acc[cur]=1
返回acc
}, {})

console.log(result)/{luiz:4,pedro:1}
我尝试使用.map、.forEach、.filter,但它们都没有定义。
-请分享所有这些尝试。听起来您可能只是忘记了在谓词中返回
。你的问题还可以稍加澄清。你想要的结果是什么?你能显示你想要的输出吗?数组有可能有多个值吗?类似这样的东西可能会帮助你开始:删除那种代码并在对象键上循环编辑主要问题这很有效,谢谢!我怎样才能从reduce中只得到数字?
var foo = {
    step1: ["luiz"],
    step2: ["pedro"],
    step3: ["luiz"],
    step4: ["luiz"],
    step5: ["luiz"]
}

let result = {};

console.log(Object.keys(foo));

// loop over the keys of the object
for(var key of Object.keys(foo)) {
    // get the number of occurrences of words in the array for each key
    let count= foo[key].reduce((a,c)=> (a[c]=++a[c]||1,a) ,{});
  //combine everything into 1 object
  for(var key2 of Object.keys(count)) {
    console.log(count[key2]);
    if(key2 in result) {
        result[key2] = result[key2] + count[key2];
    }
    else {
        result[key2] = count[key2];
    }
  }
}

console.log(result);