我想在一個對象合併多個陣列的值,以一個陣列是這樣的:Jquery的陣列融合
[1,2,3]
[4,5,6]
到:
[
{name: 1, value: 4},
{name: 2, value: 5},
{name: 3, value: 6}
]
我想在一個對象合併多個陣列的值,以一個陣列是這樣的:Jquery的陣列融合
[1,2,3]
[4,5,6]
到:
[
{name: 1, value: 4},
{name: 2, value: 5},
{name: 3, value: 6}
]
使用Array#map
方法來創建基於一個新的數組在現有的。
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);
您可以在一個陣列上使用一個簡單的循環for
和創建你的結果,只要你喜歡。
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);
或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>';
?>
儘管這段代碼可以解決這個問題,但[包括解釋](// meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)確實有助於提高您的帖子的質量。請記住,您將來會爲讀者回答問題,而這些人可能不知道您的代碼建議的原因。也請儘量不要使用解釋性註釋來擠佔代碼,因爲這會降低代碼和解釋的可讀性! – FrankerZ
你嘗試過這麼遠嗎? StackOverflow不是'爲我編碼的網站'。 –