2017-10-06 61 views
-1

我有2个对象数组,并将复选框上使用这些值视图。我想合并2个obj数组,使其成为一个json对象文件。请帮我如何合并2个对象数组使其成为一个对象和JSON输出使用angularjs

$scope.fruits = [ 
{ name: 'apple', selected: true }, 
{ name: 'orange', selected: false }, 
{ name: 'pear',  selected: true }, 
{ name: 'naartjie', selected: false } 
]; 


$scope.color = [ 
    { name: 'red', selected: true }, 
    { name: 'green', selected: false }, 
    { name: 'orange',  selected: true }, 
    { name: 'yellow', selected: false } 
]; 

和视图,

<label ng-repeat="fruit in fruits" class="checkbox-inline"> 
<input type="checkbox" name="selectedFruits[]" value="{{fruitName}}" ng-model="fruit.selected"> {{fruit.name}}</label> 
<label ng-repeat="color in colors" class="checkbox-inline"> 
<input type="checkbox" name="selectedColors[]" value="{{colorName}}" ng-model="color.selected"> {{color.name}}</label> 

,我要像下面的输出:

[{ 
    "name": "apple", 
    "color": "red", 
    "selected": true 
    }, 
{ 
"name": "orange", 
"color": "yellow", 
"selected": true}, 
{ 
"name": "pear", 
"color": "green", 
"selected": true}] 
+1

这两个特定的阵列不匹配磨片你看你的输出。例如,array1/object1与array2/object1匹配,但下一个array1/object2似乎与输出中的array2/object3匹配。你怎么知道哪种颜色与哪种水果相匹配? – rrd

+0

一些关键应该在那里有两个对象。 –

+0

@rrd谢谢。我想要的就像你的榜样。 例如,array1/object1与array2/object1匹配,但下一个array1/object2似乎与输出中的array2/object3匹配。 用户必须先选择水果后选择颜色。无需考虑匹配与否。我想要的是用户点击后,我需要合并数组与JSON格式。 – user3668065

回答

0

您可以使用map功能这一点。

var fruits = [ 
 
{ name: 'apple', selected: true }, 
 
{ name: 'orange', selected: false }, 
 
{ name: 'pear',  selected: true }, 
 
{ name: 'naartjie', selected: false } 
 
]; 
 

 

 
var color = [ 
 
    { name: 'red', selected: true }, 
 
    { name: 'green', selected: false }, 
 
    { name: 'orange',  selected: true }, 
 
    { name: 'yellow', selected: false } 
 
]; 
 

 
var arr = fruits.map((o,i)=>{ 
 
    o.color = color[i].name; 
 
    return o; 
 
}); 
 

 
console.log(arr)

+0

我不想成为地图。我想根据用户选择合并。 – user3668065

+0

例如,array1/object1与array2/object1匹配,但下一个array1/object2似乎与您的输出中的array2/object3匹配。用户必须先选择水果,然后选择颜色。无需考虑匹配与否。我想要的是用户点击后,我需要合并数组与JSON格式。 – user3668065

0

使用角被忽略空合并enter link description here

var mergedObject = angular.extend(object1, object2); 

和手动方式和遗漏值将

this

+0

NOP。例如,array1/object1与array2/object1匹配,但下一个array1/object2似乎与输出中的array2/object3匹配。用户必须先选择水果,然后选择颜色。无需考虑匹配与否。我想要的是用户点击后,我需要合并数组与JSON格式。 – user3668065

相关问题