I want to merge values of multiple arrays in one object to one array like this:
[1,2,3]
[4,5,6]
To:
[
{name: 1, value: 4},
{name: 2, value: 5},
{name: 3, value: 6}
]
I want to merge values of multiple arrays in one object to one array like this:
[1,2,3]
[4,5,6]
To:
[
{name: 1, value: 4},
{name: 2, value: 5},
{name: 3, value: 6}
]
Use Array#map
method to create a new array based on existing.
var a = [1, 2, 3],
b = [4, 5, 6];
// iterate over array `a` to genearate object array
var res = a.map(function(v, i) {
// generate object ( result array element )
return {
name: v, // name from array `a`
value: b[i] // value from array `b` get using index
};
})
console.log(res);
You can use a simple for
loop on one array and create your result however you like.
var names = [1, 2, 3],
values = [4, 5, 6],
result = [];
for( var i = 0; i < names.length; i++ ) {
result.push({
name: names[i],
value: values[i]
});
}
console.log(result);
var names = [1,2,3];
var values = [4,5,6];
var result =[];
for(var i=0;i<names.length;i++){
var obj= {
"name":names[i],
"value": values[i]
}
result.push(obj);
}
console.log(result);
arr1 = [1,2,3];
arr2 = [4,5,6];
//prepare array to fill
obj = [];
// for every item we merge them into an object and pass them into the newObj
function merge(item, index, arr2, newObj){
temp = {};
temp[item] = arr2[index];
newObj.push(temp);
}
//give the item as key, the index for the second array, and the object we want to fill
arr1.forEach((item, index) => merge(item, index, arr2, obj));
console.log(obj);
OR in PHP :)
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
$names = array('Chevalier','Sorcier','Archer');
$values = array('5','6','8');
$fusion = array();
for($i=0; $i<count($names); $i++){
$fusion[$names[$i]] = $values[$i];
}
echo '<pre>';
print_r($names);
print_r($values);
print_r($fusion);
echo '</pre>';
?>