我有个问题。
我有该对象数组:
const iHaveThis = [{
question: "What's your name?",
answer: 'dda',
form_filled_key: 15,
},
{
question: "What's your e-mail?",
answer: '[email protected] /cdn-cgi/l/email-protection',
form_filled_key: 15,
},
{
question: "What's your e-mail?",
answer: '[email protected] /cdn-cgi/l/email-protection',
form_filled_key: 14,
},
{
question: "What's your name?",
answer: 'DAS',
form_filled_key: 14,
},
];
我想把它改造成:
const iWillHaveThis = [{
"What's your e-mail?": '[email protected] /cdn-cgi/l/email-protection',
"What's your name?": 'dda',
},
{
"What's your e-mail?": '[email protected] /cdn-cgi/l/email-protection',
"What's your name?": 'DAS',
},
];
我怎样才能做到这一点?请
我已经尝试使用reduce、map 但不起作用。
您可以创建一个对象form_filled_key
。并在循环中使用键将对象添加到对象中以将它们分组。最后,您的解决方案将在Object.values()
您构建的对象的:
const iHaveThat = [
{question: "What's your name?",answer: 'dda',form_filled_key: 15,},
{question: "What's your e-mail?",answer: '[email protected] /cdn-cgi/l/email-protection',form_filled_key: 15,},
{question: "What's your e-mail?",answer: '[email protected] /cdn-cgi/l/email-protection',form_filled_key: 14,},
{question: "What's your name?",answer: 'DAS',form_filled_key: 14,},];
let arr = iHaveThat.reduce((obj, {form_filled_key, question, answer}) => {
// make a new entry if needed
if (!obj[form_filled_key]) obj[form_filled_key] = {}
// add the key value pair
obj[form_filled_key][question] = answer
return obj
},{})
// you just want the array from `values()`
let result = Object.values(arr)
console.log(result)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)