如何在离子2中添加两个阵列数据

问题描述:

我是Ionic 2的新手。我想根据它们的位置添加数组元素。例如: :我有2个数组。如何在离子2中添加两个阵列数据

  1. 标贴:[而百合,非洲菊,非洲菊,而百合,玫瑰,玫瑰]

  2. 数据:[10,20,10,30,20,10]

现在我想从标签[]删除冗余并希望从数据添加它们的值[]

我最后的阵列应该是

标签:[而百合,非洲菊,玫瑰]

数据:[40,30,30]

我已经从Json的提取的数据这种类型的:

var qp = [] 
     for (var i of res.data) { 
      qp.push(i.quantity_produced); 
     console.log(res.data); 
     console.log(qp); 

     var name = [] 
      for (var i of res.data) { 
      name.push(i.product); 
       var s= [new Set(name)]; 
     console.log(res.data); 
     console.log(name); 
+0

请告诉我数据和标签之间的关系? – Abdel

+0

每个标签都有价值吗?因为这个结构很混乱,所以最好使用一组对象。另外,为了避免冗余,您可以使用JavaScript'Sets'确保唯一性。 – Abdel

+0

他们在提供名称和生产花卉的单个json –

试试这个:

let labels = ['Lillium', 'Gerbera', 'Gerbera', 'Lillium', 'Rose', 'Rose']; 
 
let Data = [10, 20, 10, 30, 20, 10]; 
 

 
//for each unique label.... 
 
let result = [...new Set(labels)] 
 

 
//... get each occurence index ... 
 
.map(value => labels.reduce((curr, next, index) => { 
 
    if (next == value) 
 
    curr.push(index); 
 
    return curr; 
 
}, [])) 
 

 
//... and reducing each array of indexes using the Data array gives you the sums 
 
.map(labelIndexes => labelIndexes.reduce((curr, next) => { 
 
    return curr + Data[next]; 
 
}, 0)); 
 

 
console.log(result);

基于您的评论看来,事情可以做了很多更容易

let data = [{product: 'Lillium',quantity_produced: 10}, {product: 'Gerbera',quantity_produced: 20},{product: 'Gerbera',quantity_produced: 10}, {product: 'Lillium',quantity_produced: 30}, {product: 'Rose',quantity_produced: 20}, {product: 'Rose',quantity_produced: 10}]; 
 

 
let result = data.reduce((curr, next) => { 
 
    curr[next.product] = (curr[next.product] || 0) + next.quantity_produced; 
 
    return curr; 
 
}, {}); 
 

 
console.log(result);

+0

我已经提取标签并且这种类型的数据:var qp = [] for(var i of res.data){ qp.push(i.quantity_produced); console.log(res.data); console.log(res.data); var name = [] for(var i of res.data){ name.push(i.product); var s = [new Set(name)]; console.log(res.data); @ Vanojx1 –

+0

但先生我们的数据是来自json的动态数据。正如你所建议的,这对静态数组非常有用。这是我的json链接:http://factoryunlock.in/sundar/public/api/v1/production @ Vanojx1 sir –

+0

您的数据可以是动态的,只需将我的示例中的数据替换为json中的数据.... [检查此](https://jsfiddle.net/2g31rta9/) – Vanojx1