Skip to content

Instantly share code, notes, and snippets.

@bhuizi
Last active July 18, 2017 13:51
Show Gist options
  • Save bhuizi/4f6b948eaa030bfdfc0d48f3a9d4f2bc to your computer and use it in GitHub Desktop.
Save bhuizi/4f6b948eaa030bfdfc0d48f3a9d4f2bc to your computer and use it in GitHub Desktop.
spread reduce arrays
const offenseAnswer = [
{
name: 'offense1',
value: 'offense1 value'
},
{
name: 'offense2',
value: 'offense2 value'
},
{
name: 'offense3',
value: 'offense3 value'
},
{
name: 'offense4',
value: 'offense4 value'
},
{
name: 'offense5',
value: 'offense5 value'
},
];
const defenseAnswer = [
{
name: 'defense1',
value: 'defense1 value'
},
{
name: 'defense1',
value: 'defense1 value'
},
{
name: 'defense3',
value: 'defense3 value'
},
{
name: 'defense4',
value: 'defense4 value'
},
{
name: 'defense5',
value: 'defense5 value'
},
];
// individual answers
const selectOffense = ['offense2', 'offense5']
const selectDefense = ['defense1', 'defense3']
// combine to single source
const select_answers = [...selectOffense, ...selectDefense];
const combine_answers = [...offenseAnswer, ...defenseAnswer];
// console.log(select_options);
// console.log(combine_answers);
const iteration_array = select_answers.reduce((acc, select)=> {
combine_answers.map(answer => {
if(answer.name === select){
acc.push({name: answer.name, value: answer.value});
}
})
return acc;
}, []);
// console.log(iteration_array);
const print_data = (key, array) => {
array.map(answer => {
if(answer['name'].startsWith(key)) {
console.log(answer.name);
}
})
}
print_data('defense', iteration_array);
print_data('offense', iteration_array);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment