add key value pairs to object from an array - Javascript
How can I automate the process of assigning the key to an object from an array and the value to contain the same element as a string?
I have an empty object and an array:
const myObject= {};
const newsCategory = ['business', 'entertainment', 'general', 'health', 'science'];
I need to populate the object with key-value pairs.
The key should be each element from the newsCategory array.
The value should be an instance of another object.
new GetNews({country: 'gb', category: newsCategory[element]});
I can do this the manual way, assigning each category individually:
myObject.business = new GetNews({country: 'gb', category: newsCategory ['business']});
...and the same to the rest of the categories.
The result would be
{
business: GetNews {
category: "business"
country: "gb"
}
entertainment: GetNews {
category: "entertainment"
country: "gb"
}
general: GetNews {
category: "general"
country: "gb"
}
health: GetNews {
category: "health"
country: "gb"
}
science: GetNews {
category: "science"
country: "gb"
}
}
I need to do this process automatically, with a loop for example.
This is my attempt but it's not working.
newsCategory.forEach((category) => {
let cat = String.raw`${category}`; //to get the raw string
myObj.cat = new GetNews({country: 'gb', category: category});
})
};
/*
output:
{cat: "undefined[object Object][object Object][object Obj…ect][object Object][object Object][object Object]"}
*/
How can I automate the process of assigning the key to an object from an array and the value to contain the same element as a string?
javascript arrays object
add a comment |
How can I automate the process of assigning the key to an object from an array and the value to contain the same element as a string?
I have an empty object and an array:
const myObject= {};
const newsCategory = ['business', 'entertainment', 'general', 'health', 'science'];
I need to populate the object with key-value pairs.
The key should be each element from the newsCategory array.
The value should be an instance of another object.
new GetNews({country: 'gb', category: newsCategory[element]});
I can do this the manual way, assigning each category individually:
myObject.business = new GetNews({country: 'gb', category: newsCategory ['business']});
...and the same to the rest of the categories.
The result would be
{
business: GetNews {
category: "business"
country: "gb"
}
entertainment: GetNews {
category: "entertainment"
country: "gb"
}
general: GetNews {
category: "general"
country: "gb"
}
health: GetNews {
category: "health"
country: "gb"
}
science: GetNews {
category: "science"
country: "gb"
}
}
I need to do this process automatically, with a loop for example.
This is my attempt but it's not working.
newsCategory.forEach((category) => {
let cat = String.raw`${category}`; //to get the raw string
myObj.cat = new GetNews({country: 'gb', category: category});
})
};
/*
output:
{cat: "undefined[object Object][object Object][object Obj…ect][object Object][object Object][object Object]"}
*/
How can I automate the process of assigning the key to an object from an array and the value to contain the same element as a string?
javascript arrays object
add a comment |
How can I automate the process of assigning the key to an object from an array and the value to contain the same element as a string?
I have an empty object and an array:
const myObject= {};
const newsCategory = ['business', 'entertainment', 'general', 'health', 'science'];
I need to populate the object with key-value pairs.
The key should be each element from the newsCategory array.
The value should be an instance of another object.
new GetNews({country: 'gb', category: newsCategory[element]});
I can do this the manual way, assigning each category individually:
myObject.business = new GetNews({country: 'gb', category: newsCategory ['business']});
...and the same to the rest of the categories.
The result would be
{
business: GetNews {
category: "business"
country: "gb"
}
entertainment: GetNews {
category: "entertainment"
country: "gb"
}
general: GetNews {
category: "general"
country: "gb"
}
health: GetNews {
category: "health"
country: "gb"
}
science: GetNews {
category: "science"
country: "gb"
}
}
I need to do this process automatically, with a loop for example.
This is my attempt but it's not working.
newsCategory.forEach((category) => {
let cat = String.raw`${category}`; //to get the raw string
myObj.cat = new GetNews({country: 'gb', category: category});
})
};
/*
output:
{cat: "undefined[object Object][object Object][object Obj…ect][object Object][object Object][object Object]"}
*/
How can I automate the process of assigning the key to an object from an array and the value to contain the same element as a string?
javascript arrays object
How can I automate the process of assigning the key to an object from an array and the value to contain the same element as a string?
I have an empty object and an array:
const myObject= {};
const newsCategory = ['business', 'entertainment', 'general', 'health', 'science'];
I need to populate the object with key-value pairs.
The key should be each element from the newsCategory array.
The value should be an instance of another object.
new GetNews({country: 'gb', category: newsCategory[element]});
I can do this the manual way, assigning each category individually:
myObject.business = new GetNews({country: 'gb', category: newsCategory ['business']});
...and the same to the rest of the categories.
The result would be
{
business: GetNews {
category: "business"
country: "gb"
}
entertainment: GetNews {
category: "entertainment"
country: "gb"
}
general: GetNews {
category: "general"
country: "gb"
}
health: GetNews {
category: "health"
country: "gb"
}
science: GetNews {
category: "science"
country: "gb"
}
}
I need to do this process automatically, with a loop for example.
This is my attempt but it's not working.
newsCategory.forEach((category) => {
let cat = String.raw`${category}`; //to get the raw string
myObj.cat = new GetNews({country: 'gb', category: category});
})
};
/*
output:
{cat: "undefined[object Object][object Object][object Obj…ect][object Object][object Object][object Object]"}
*/
How can I automate the process of assigning the key to an object from an array and the value to contain the same element as a string?
{
business: GetNews {
category: "business"
country: "gb"
}
entertainment: GetNews {
category: "entertainment"
country: "gb"
}
general: GetNews {
category: "general"
country: "gb"
}
health: GetNews {
category: "health"
country: "gb"
}
science: GetNews {
category: "science"
country: "gb"
}
}
{
business: GetNews {
category: "business"
country: "gb"
}
entertainment: GetNews {
category: "entertainment"
country: "gb"
}
general: GetNews {
category: "general"
country: "gb"
}
health: GetNews {
category: "health"
country: "gb"
}
science: GetNews {
category: "science"
country: "gb"
}
}
newsCategory.forEach((category) => {
let cat = String.raw`${category}`; //to get the raw string
myObj.cat = new GetNews({country: 'gb', category: category});
})
};
/*
output:
{cat: "undefined[object Object][object Object][object Obj…ect][object Object][object Object][object Object]"}
*/
newsCategory.forEach((category) => {
let cat = String.raw`${category}`; //to get the raw string
myObj.cat = new GetNews({country: 'gb', category: category});
})
};
/*
output:
{cat: "undefined[object Object][object Object][object Obj…ect][object Object][object Object][object Object]"}
*/
javascript arrays object
javascript arrays object
asked Nov 23 '18 at 12:39
Lenny86Lenny86
657
657
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
Instead of myObj.cat
you should do myObj[cat]
so that cat
is evaluated as the key value, otherwise you're setting a key named "cat"
.
Also String.raw
is weird, don't use that. Your categories are strings already.
newsCategory.forEach((category) => {
myObj[category] = new GetNews({country: 'gb', category: category});
})
};
1
thanks for pointing out my mistake, your solution worked well.
– Lenny86
Nov 23 '18 at 16:18
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53446885%2fadd-key-value-pairs-to-object-from-an-array-javascript%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Instead of myObj.cat
you should do myObj[cat]
so that cat
is evaluated as the key value, otherwise you're setting a key named "cat"
.
Also String.raw
is weird, don't use that. Your categories are strings already.
newsCategory.forEach((category) => {
myObj[category] = new GetNews({country: 'gb', category: category});
})
};
1
thanks for pointing out my mistake, your solution worked well.
– Lenny86
Nov 23 '18 at 16:18
add a comment |
Instead of myObj.cat
you should do myObj[cat]
so that cat
is evaluated as the key value, otherwise you're setting a key named "cat"
.
Also String.raw
is weird, don't use that. Your categories are strings already.
newsCategory.forEach((category) => {
myObj[category] = new GetNews({country: 'gb', category: category});
})
};
1
thanks for pointing out my mistake, your solution worked well.
– Lenny86
Nov 23 '18 at 16:18
add a comment |
Instead of myObj.cat
you should do myObj[cat]
so that cat
is evaluated as the key value, otherwise you're setting a key named "cat"
.
Also String.raw
is weird, don't use that. Your categories are strings already.
newsCategory.forEach((category) => {
myObj[category] = new GetNews({country: 'gb', category: category});
})
};
Instead of myObj.cat
you should do myObj[cat]
so that cat
is evaluated as the key value, otherwise you're setting a key named "cat"
.
Also String.raw
is weird, don't use that. Your categories are strings already.
newsCategory.forEach((category) => {
myObj[category] = new GetNews({country: 'gb', category: category});
})
};
answered Nov 23 '18 at 12:41
Pedro APedro A
1,2181031
1,2181031
1
thanks for pointing out my mistake, your solution worked well.
– Lenny86
Nov 23 '18 at 16:18
add a comment |
1
thanks for pointing out my mistake, your solution worked well.
– Lenny86
Nov 23 '18 at 16:18
1
1
thanks for pointing out my mistake, your solution worked well.
– Lenny86
Nov 23 '18 at 16:18
thanks for pointing out my mistake, your solution worked well.
– Lenny86
Nov 23 '18 at 16:18
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53446885%2fadd-key-value-pairs-to-object-from-an-array-javascript%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown