JavaScript - make object from multiple arrays
up vote
1
down vote
favorite
I have 3 arrays:
colors = ['green', 'red', 'black'];
positionToId = [0, 32, 15];
results = ["0", "1", "2"];
And want to achieve something like this:
results: '0', 'positionToId: '31', colors: 'black',
results: '1', 'positionToId: '2', colors: 'red',
results: '2', 'positionToId: '11', colors: 'black'
How can I do that?
Thanks.
javascript arrays
add a comment |
up vote
1
down vote
favorite
I have 3 arrays:
colors = ['green', 'red', 'black'];
positionToId = [0, 32, 15];
results = ["0", "1", "2"];
And want to achieve something like this:
results: '0', 'positionToId: '31', colors: 'black',
results: '1', 'positionToId: '2', colors: 'red',
results: '2', 'positionToId: '11', colors: 'black'
How can I do that?
Thanks.
javascript arrays
3
Please do not include code as an image. Include code as code. Also, what have you done so far? StackOverflow expects you to try to solve your own problem first, as your attempts help us to better understand what you want. Please edit the question to illustrate the specific problem you're having in a Minimal, Complete, and Verifiable example. For more information, please see How to Ask and take the tour.
– dmcgrandle
Nov 11 at 1:52
moved image to code in the question
– lucascaro
Nov 11 at 22:46
add a comment |
up vote
1
down vote
favorite
up vote
1
down vote
favorite
I have 3 arrays:
colors = ['green', 'red', 'black'];
positionToId = [0, 32, 15];
results = ["0", "1", "2"];
And want to achieve something like this:
results: '0', 'positionToId: '31', colors: 'black',
results: '1', 'positionToId: '2', colors: 'red',
results: '2', 'positionToId: '11', colors: 'black'
How can I do that?
Thanks.
javascript arrays
I have 3 arrays:
colors = ['green', 'red', 'black'];
positionToId = [0, 32, 15];
results = ["0", "1", "2"];
And want to achieve something like this:
results: '0', 'positionToId: '31', colors: 'black',
results: '1', 'positionToId: '2', colors: 'red',
results: '2', 'positionToId: '11', colors: 'black'
How can I do that?
Thanks.
javascript arrays
javascript arrays
edited Nov 11 at 22:46
lucascaro
3,32611530
3,32611530
asked Nov 11 at 1:26
Medf101
394
394
3
Please do not include code as an image. Include code as code. Also, what have you done so far? StackOverflow expects you to try to solve your own problem first, as your attempts help us to better understand what you want. Please edit the question to illustrate the specific problem you're having in a Minimal, Complete, and Verifiable example. For more information, please see How to Ask and take the tour.
– dmcgrandle
Nov 11 at 1:52
moved image to code in the question
– lucascaro
Nov 11 at 22:46
add a comment |
3
Please do not include code as an image. Include code as code. Also, what have you done so far? StackOverflow expects you to try to solve your own problem first, as your attempts help us to better understand what you want. Please edit the question to illustrate the specific problem you're having in a Minimal, Complete, and Verifiable example. For more information, please see How to Ask and take the tour.
– dmcgrandle
Nov 11 at 1:52
moved image to code in the question
– lucascaro
Nov 11 at 22:46
3
3
Please do not include code as an image. Include code as code. Also, what have you done so far? StackOverflow expects you to try to solve your own problem first, as your attempts help us to better understand what you want. Please edit the question to illustrate the specific problem you're having in a Minimal, Complete, and Verifiable example. For more information, please see How to Ask and take the tour.
– dmcgrandle
Nov 11 at 1:52
Please do not include code as an image. Include code as code. Also, what have you done so far? StackOverflow expects you to try to solve your own problem first, as your attempts help us to better understand what you want. Please edit the question to illustrate the specific problem you're having in a Minimal, Complete, and Verifiable example. For more information, please see How to Ask and take the tour.
– dmcgrandle
Nov 11 at 1:52
moved image to code in the question
– lucascaro
Nov 11 at 22:46
moved image to code in the question
– lucascaro
Nov 11 at 22:46
add a comment |
3 Answers
3
active
oldest
votes
up vote
1
down vote
accepted
You want to merge these arrays into an array of objects with key => value.
Easiest way is to map one of them.
The map() method creates a new array with the results of calling a provided function on every element in the calling array.
Example:
colors = ['green', 'red', 'black'];
positionToId = [0, 32, 15];
results = ["0", "1", "2"];
console.log(results.map((result,i) =>
return
results: results[i],
positionToId: positionToId[i],
colors: colors[i],
;
));
Thanks for explanation, works like a charm!
– Medf101
Nov 11 at 23:18
add a comment |
up vote
0
down vote
Since you have an array results that you seem to want to use as your base and you want to replace these numbers, with objects keyed by the values already there I would just reduce them.
colors = ['green', 'red', 'black'];
positionToId = [0, 32, 15];
results = ["0", "1", "2"];
const newObject = results.reduce((acc, index) => (
...acc,
[index]:
positionToId: positionToId[index],
colors: colors[index],
), )
This also has the benefit of allowing you to access your items by id without having to loop over an array checking each of the id's
add a comment |
up vote
0
down vote
const colors = ['green', 'red', 'black'];
const positionToId = [0, 32, 15];
const results = ["0", "1", "2"];
const addProperties = (properties, name, results) => properties.reduce((results, property, index) =>
results[index][name] = property;
return results;
, results);
let output = Array.from(Array(3), () => ());
addProperties(colors, 'colors', output);
addProperties(positionToId, 'positionToId', output);
addProperties(results, 'results', output);
console.log(output)add a comment |
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
accepted
You want to merge these arrays into an array of objects with key => value.
Easiest way is to map one of them.
The map() method creates a new array with the results of calling a provided function on every element in the calling array.
Example:
colors = ['green', 'red', 'black'];
positionToId = [0, 32, 15];
results = ["0", "1", "2"];
console.log(results.map((result,i) =>
return
results: results[i],
positionToId: positionToId[i],
colors: colors[i],
;
));
Thanks for explanation, works like a charm!
– Medf101
Nov 11 at 23:18
add a comment |
up vote
1
down vote
accepted
You want to merge these arrays into an array of objects with key => value.
Easiest way is to map one of them.
The map() method creates a new array with the results of calling a provided function on every element in the calling array.
Example:
colors = ['green', 'red', 'black'];
positionToId = [0, 32, 15];
results = ["0", "1", "2"];
console.log(results.map((result,i) =>
return
results: results[i],
positionToId: positionToId[i],
colors: colors[i],
;
));
Thanks for explanation, works like a charm!
– Medf101
Nov 11 at 23:18
add a comment |
up vote
1
down vote
accepted
up vote
1
down vote
accepted
You want to merge these arrays into an array of objects with key => value.
Easiest way is to map one of them.
The map() method creates a new array with the results of calling a provided function on every element in the calling array.
Example:
colors = ['green', 'red', 'black'];
positionToId = [0, 32, 15];
results = ["0", "1", "2"];
console.log(results.map((result,i) =>
return
results: results[i],
positionToId: positionToId[i],
colors: colors[i],
;
));You want to merge these arrays into an array of objects with key => value.
Easiest way is to map one of them.
The map() method creates a new array with the results of calling a provided function on every element in the calling array.
Example:
colors = ['green', 'red', 'black'];
positionToId = [0, 32, 15];
results = ["0", "1", "2"];
console.log(results.map((result,i) =>
return
results: results[i],
positionToId: positionToId[i],
colors: colors[i],
;
));colors = ['green', 'red', 'black'];
positionToId = [0, 32, 15];
results = ["0", "1", "2"];
console.log(results.map((result,i) =>
return
results: results[i],
positionToId: positionToId[i],
colors: colors[i],
;
));colors = ['green', 'red', 'black'];
positionToId = [0, 32, 15];
results = ["0", "1", "2"];
console.log(results.map((result,i) =>
return
results: results[i],
positionToId: positionToId[i],
colors: colors[i],
;
));answered Nov 11 at 22:51
lucascaro
3,32611530
3,32611530
Thanks for explanation, works like a charm!
– Medf101
Nov 11 at 23:18
add a comment |
Thanks for explanation, works like a charm!
– Medf101
Nov 11 at 23:18
Thanks for explanation, works like a charm!
– Medf101
Nov 11 at 23:18
Thanks for explanation, works like a charm!
– Medf101
Nov 11 at 23:18
add a comment |
up vote
0
down vote
Since you have an array results that you seem to want to use as your base and you want to replace these numbers, with objects keyed by the values already there I would just reduce them.
colors = ['green', 'red', 'black'];
positionToId = [0, 32, 15];
results = ["0", "1", "2"];
const newObject = results.reduce((acc, index) => (
...acc,
[index]:
positionToId: positionToId[index],
colors: colors[index],
), )
This also has the benefit of allowing you to access your items by id without having to loop over an array checking each of the id's
add a comment |
up vote
0
down vote
Since you have an array results that you seem to want to use as your base and you want to replace these numbers, with objects keyed by the values already there I would just reduce them.
colors = ['green', 'red', 'black'];
positionToId = [0, 32, 15];
results = ["0", "1", "2"];
const newObject = results.reduce((acc, index) => (
...acc,
[index]:
positionToId: positionToId[index],
colors: colors[index],
), )
This also has the benefit of allowing you to access your items by id without having to loop over an array checking each of the id's
add a comment |
up vote
0
down vote
up vote
0
down vote
Since you have an array results that you seem to want to use as your base and you want to replace these numbers, with objects keyed by the values already there I would just reduce them.
colors = ['green', 'red', 'black'];
positionToId = [0, 32, 15];
results = ["0", "1", "2"];
const newObject = results.reduce((acc, index) => (
...acc,
[index]:
positionToId: positionToId[index],
colors: colors[index],
), )
This also has the benefit of allowing you to access your items by id without having to loop over an array checking each of the id's
Since you have an array results that you seem to want to use as your base and you want to replace these numbers, with objects keyed by the values already there I would just reduce them.
colors = ['green', 'red', 'black'];
positionToId = [0, 32, 15];
results = ["0", "1", "2"];
const newObject = results.reduce((acc, index) => (
...acc,
[index]:
positionToId: positionToId[index],
colors: colors[index],
), )
This also has the benefit of allowing you to access your items by id without having to loop over an array checking each of the id's
answered Nov 11 at 22:57
Carlo
7401715
7401715
add a comment |
add a comment |
up vote
0
down vote
const colors = ['green', 'red', 'black'];
const positionToId = [0, 32, 15];
const results = ["0", "1", "2"];
const addProperties = (properties, name, results) => properties.reduce((results, property, index) =>
results[index][name] = property;
return results;
, results);
let output = Array.from(Array(3), () => ());
addProperties(colors, 'colors', output);
addProperties(positionToId, 'positionToId', output);
addProperties(results, 'results', output);
console.log(output)add a comment |
up vote
0
down vote
const colors = ['green', 'red', 'black'];
const positionToId = [0, 32, 15];
const results = ["0", "1", "2"];
const addProperties = (properties, name, results) => properties.reduce((results, property, index) =>
results[index][name] = property;
return results;
, results);
let output = Array.from(Array(3), () => ());
addProperties(colors, 'colors', output);
addProperties(positionToId, 'positionToId', output);
addProperties(results, 'results', output);
console.log(output)add a comment |
up vote
0
down vote
up vote
0
down vote
const colors = ['green', 'red', 'black'];
const positionToId = [0, 32, 15];
const results = ["0", "1", "2"];
const addProperties = (properties, name, results) => properties.reduce((results, property, index) =>
results[index][name] = property;
return results;
, results);
let output = Array.from(Array(3), () => ());
addProperties(colors, 'colors', output);
addProperties(positionToId, 'positionToId', output);
addProperties(results, 'results', output);
console.log(output)const colors = ['green', 'red', 'black'];
const positionToId = [0, 32, 15];
const results = ["0", "1", "2"];
const addProperties = (properties, name, results) => properties.reduce((results, property, index) =>
results[index][name] = property;
return results;
, results);
let output = Array.from(Array(3), () => ());
addProperties(colors, 'colors', output);
addProperties(positionToId, 'positionToId', output);
addProperties(results, 'results', output);
console.log(output)const colors = ['green', 'red', 'black'];
const positionToId = [0, 32, 15];
const results = ["0", "1", "2"];
const addProperties = (properties, name, results) => properties.reduce((results, property, index) =>
results[index][name] = property;
return results;
, results);
let output = Array.from(Array(3), () => ());
addProperties(colors, 'colors', output);
addProperties(positionToId, 'positionToId', output);
addProperties(results, 'results', output);
console.log(output)const colors = ['green', 'red', 'black'];
const positionToId = [0, 32, 15];
const results = ["0", "1", "2"];
const addProperties = (properties, name, results) => properties.reduce((results, property, index) =>
results[index][name] = property;
return results;
, results);
let output = Array.from(Array(3), () => ());
addProperties(colors, 'colors', output);
addProperties(positionToId, 'positionToId', output);
addProperties(results, 'results', output);
console.log(output)answered Nov 11 at 23:02
Adrian Brand
2,45911018
2,45911018
add a comment |
add a comment |
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%2f53245057%2fjavascript-make-object-from-multiple-arrays%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
3
Please do not include code as an image. Include code as code. Also, what have you done so far? StackOverflow expects you to try to solve your own problem first, as your attempts help us to better understand what you want. Please edit the question to illustrate the specific problem you're having in a Minimal, Complete, and Verifiable example. For more information, please see How to Ask and take the tour.
– dmcgrandle
Nov 11 at 1:52
moved image to code in the question
– lucascaro
Nov 11 at 22:46